AMATLAB微积分及泰勒级数计算_第1页
AMATLAB微积分及泰勒级数计算_第2页
AMATLAB微积分及泰勒级数计算_第3页
AMATLAB微积分及泰勒级数计算_第4页
AMATLAB微积分及泰勒级数计算_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.,2.1 符号计算基础 2.2 微分运算 2.3 积分运算 2.4 泰勒级数 2.5 求解方程 2.6 积分变换,第2章 MATLAB符号计算,.,2.1 符号计算基础,2.1.1 符号对象 1. 建立符号变量和符号常数 (1)sym函数 S=sym(A) sym函数用来建立单个符号变量,例如,a=sym(a)建立符号变量a,此后,用户可以在表达式中使用变量a进行各种运算。 定义符号常量 如pi=sym(pi) a=sym(3/4),.,例2.1考察符号变量和数值变量的差别。 在 MATLAB命令窗口,输入命令: a=sym(a);b=sym(b);c=sym(c);d=sym(d); %定

2、义4个符号变量 w=10;x=5;y=-8;z=11; %定义4个数值变量 A=a,b;c,d %建立符号矩阵A B=w,x;y,z %建立数值矩阵B det(A) %计算符号矩阵A的行列式 det(B) %计算数值矩阵B的行列式,.,例2.2 比较符号常数与数值变量在代数运算时的差别。 在 MATLAB命令窗口,输入命令: pi1=sym(pi);k1=sym(8);k2=sym(2);k3=sym(3); % 定义符号常数 pi2=pi;r1=8;r2=2;r3=3; % 定义数值变量 sin(pi1/3) % 计算符号表达式值 sin(pi2/3) % 计算数值表达式值 sqrt(k1)

3、 % 计算符号表达式值 sqrt(r1) % 计算数值表达式值 sqrt(k3+sqrt(k2) % 计算符号表达式值 sqrt(r3+sqrt(r2) % 计算数值表达式值,.,区别 数值数字并不能保证被完全准确存储,运算时也会引进截断误差; 符号类数字总是被准确记录和计算。,.,(2)syms函数 1.用于定义多个符号变量。 syms函数的一般调用格式为: syms var1 var2 varn 函数定义符号变量var1,var2,varn等。用这种格式定义符号变量时不要在变量名上加字符分界符(),变量间用空格而不要用逗号分隔。,.,2. 建立符号表达式 例2.3用2种方法建立符号表达式。

4、 在MATLAB窗口,输入命令: U=sym(3*x2+5*y+2*x*y+6) %定义符号表达式U syms x y; %建立符号变量x、y V=3*x2+5*y+2*x*y+6 %定义符号表达式V 2*U-V+6 %求符号表达式的值,.,例2.4 计算3阶范得蒙矩阵行列式的值。设A是一个由符号变量a,b,c确定的范得蒙矩阵。 命令如下: syms a b c; U=a,b,c; A=1,1,1;U;U.2 %建立范得蒙符号矩阵 det(A) %计算A的行列式值,例2.5 建立x,y的一般二元函数。 在MATLAB命令窗口,输入命令: syms x y; f=sym(f(x,y);,.,2.

5、1.2 基本的符号运算 (1)符号表达式的代数运算 与矩阵运算基本一致,详见P35。 (2)符号与数值的转换:sym,numeric,eval,sym2poly,poly2sym Numeric,eval:将符号常数转换为数字或计算表达式的函数; Sym2poly:将符号多项式变换为等价系数向量。 Poly2sym:要求用户指定用于表达式的变量(x,y等) 例2.6 f=sym(2*x2+7*x+9) n=sym2poly(f) f1=poly2sym(n,y),.,(3)因式分解与展开 factor(S) 对S分解因式,S是符号表达式或符号矩阵。 expand(S) 对S进行展开,S是符号表

6、达式或符号矩阵。 collect(S) 对S合并同类项,S是符号表达式或符号矩阵。 collect(S,v) 对S按变量v合并同类项,S是符号表达式或符号矩阵。,例2.7 对符号矩阵A的每个元素分解因式。 命令如下: syms a b x y; A=2*a2*b3*x2-4*a*b4*x3+10*a*b6*x4,3*x*y-5*x2;4,a3-b3; factor(A) %对A的每个元素分解因式,.,例2.8 计算表达式S的值。 命令如下: syms x y; s=sym(-7*x2-8*y2)*(-x2+3*y2); s1=expand(s) %对s展开 s2=collect(s,x) %对

7、s按变量x合并同类项(无同类项) factor(s2) % 对s2分解因式,.,(4)表达式化简 MATLAB提供的对符号表达式化简的函数有: simplify(S) 应用函数规则对S进行化简。 simple(S) 调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。 例2.9化简 命令如下: syms x y; s=(x2+y2)2+(x2-y2)2; simplify(s) %应用函数规则对s进行化简。,.,(5) 符号表达式中变量的确定 MATLAB中的符号可以表示符号变量和符号常数。findsym可以帮助用户查找一个符号表达式中的符号变量。该函数的调用格式为: findsy

8、m(S,n) 函数返回符号表达式S中的n个符号变量,若没有指定n,则返回S中的全部符号变量。 在求函数的极限、导数和积分时,如果用户没有明确指定自变量,MATLAB将按缺省原则确定主变量并对其进行相应微积分运算。可用findsym(S,1)查找系统的缺省变量,事实上,MATLAB按离字符x最近原则确定缺省变量。,.,2.2 微分运算,2.2.1符号表达式的极限运算 limit 函数的调用格式为: limit(f,x,a) Limit(f) limit函数的另一种功能是求单边极限,其调用格式为: limit(f,x,a,right) limit(f,x,a,left),.,例2.10求极限。 在

9、MATLAB命令窗口,输入命令: syms a m x; f=(x(1/m)-a(1/m)/(x-a); limit(f,x,a) %求极限(1) f=(sin(a+x)-sin(a-x)/x; limit(f) %求极限(2) limit(f,inf) %求f函数在x(包括+和-)处的极限 limit(f,x,inf,left) %求极限(3) f=(sqrt(x)-sqrt(a)-sqrt(x-a)/sqrt(x*x-a*a); limit(f,x,a,right) %求极限(4),.,2.2.2 符号函数求导及其应用 MATLAB中的求导的函数为: diff(f,x,n) diff函数求

10、函数f对变量x的n阶导数。参数x的用法同求极限函数limit,可以缺省,缺省值与limit相同,n的缺省值是1。,.,例2.11 求函数的导数。 命令如下: syms a b t x y z; f=sqrt(1+exp(x); diff(f) %求(1)。未指定求导变量和阶数,按缺省规则处理 f=x*cos(x); diff(f,x,2) %求(2)。求f对x的二阶导数 diff(f,x,3) %求(2)。求f对x的三阶导数 f1=a*cos(t);f2=b*sin(t); diff(f2)/diff(f1) %求(3)。按参数方程求导公式求y对x的导数 (diff(f1)*diff(f2,2

11、)-diff(f1,2)*diff(f2)/(diff(f1)3 %求(3)。求y对x的二阶导数 f=x*exp(y)/y2; diff(f,x) %求(4)。z对x的偏导数 diff(f,y) %求(4)。z对y的偏导数 f=x2+y2+z2-a2; zx=-diff(f,x)/diff(f,z) %求(5)。按隐函数求导公式求z对x的偏导数 zy=-diff(f,y)/diff(f,z) %求(5)。按隐函数求导公式求z对y的偏导数,.,例2.12在曲线y=x3+3x-2上哪一点的切线与直线y=4x-1平行。 命令如下: x=sym(x); y=x3+3*x-2; %定义曲线函数 f=di

12、ff(y); %对曲线求导数 g=f-4; solve(g) %求方程f-4=0的根,即求曲线何处的导数为4,.,2.3 积分运算,2.3.1 不定积分 在MATLAB中,求不定积分的函数是int,其调用格式为: int(f,x) int函数求函数f对变量x的不定积分。参数x可以缺省,缺省原则与diff函数相同。,.,例2.13求不定积分。 命令如下: x=sym(x); f=(3-x2)3; int(f) %求不定积分(1) f=sqrt(x3+x4); f1=int(f) %求不定积分(2) g=simple(f1) %调用simple函数对结果化简,.,2.3.2 定积分 定积分在实际工

13、作中有广泛的应用。在MATLAB中,定积分的计算使用函数: int(f,x,a,b) 例2.14求定积分。,.,命令如下: x=sym(x);t=sym(t); int(abs(1-x),1,2) %求定积分(1) f=1/(1+x2); int(f,-inf,inf) %负无穷到正无穷求定积分(2) int(4*t*x,x,2,sin(t) %求定积分(3) f=x3/(x-1)100; I=int(f,2,3) %用符号积分的方法求 定积分(4),.,例2.15 轴的长度为10米,若该轴的线性密度计算公式是f(x)=6+0.3x千克/米(其中x为距轴的端点距离),求轴的质量。 在MATLA

14、B命令窗口,输入命令: syms x; f=6+0.3*x; m=int(f,0,10),.,2.4常微分方程的求解,函数dsolve 该函数的调用格式为: dsolve(eqn1,condition,var) 该函数求解微分方程eqn1在初值条件condition下的特解。参数var描述方程中的自变量符号,省略时按缺省原则处理,若没有给出初值条件condition,则求方程的通解。 dsolve在求微分方程组时的调用格式为: dsolve(eqn1,eqn2,eqnN,condition1,conditionN,var1,varN) 函数求解微分方程组eqn1、eqnN在初值条件condit

15、oion1、conditionN下的解,若不给出初值条件,则求方程组的通解,var1、varN给出求解变量。,.,常微分方程(补充),微分方程:凡是表示未知函数、未知函数的导数与自变量之间的关系的方程叫做微分方程。 常微分方程:未知函数是一元函数的,叫做常微分方程。 微分方程的阶:微分方程中出现的未知函数的最高阶导数即是微分方程的阶。 一般地,n阶微分方程的形式是: 其中F是n+2个变量的函数,且 是必须出现 的,而小于n阶导数的变量不一定要出现。,.,dsolve 参数说明,(1)Eqn 微分方程输入方法: 例: 命令:Y=dsolve(D2y-2*Dy-3*y=0,x) (2)condit

16、ion 初始条件 y(a)=b;Dy(a)=c;D2y(a)=d; 最多可接受12个输入参量,.,例2.18 求微分方程的通解。 命令如下: y=dsolve(Dy-(x2+y2)/x2/2,x) %解(1)。方程的右端为0时可以不写 y=dsolve(Dy*x2+2*x*y-exp(x),x) %解(2) y=dsolve(Dy-x/y/sqrt(1-x2),x) %解(3),例2.19 求微分方程的特解。 命令如下: y=dsolve(Dy=2*x*y2,y(0)=1,x) %解(1) y=dsolve(Dy-x2/(1+y2),y(2)=1,x) %解(2),.,2.5 积分变换 1.

17、傅立叶(Fourier)变换 在MATLAB中,进行傅立叶变换的函数是: fourier(fx,x,t) 求函数f(x)的傅立叶像函数F(t)。 ifourier(Fw,t,x) 求傅立叶像函数F(t)的原函数f(x)。 2. 拉普拉斯(Laplace)变换 在MATLAB中,进行拉普拉斯变换的函数是: laplace(fx,x,t) 求函数f(x)的拉普拉斯像函数F(t)。 ilaplace(Fw,t,x) 求拉普拉斯像函数F(t)的原函数f(x)。 3. Z变换 对数列f(n)进行z变换的MATLAB函数是: ztrans(fn,n,z) 求fn的z变换像函数F(z) iztrans(Fz

18、,z,n) 求Fz的z变换原函数f(n),.,傅立叶变换的定义及基本概念(补充),令 为实变x的连续函数,如果 满足下面的狄里赫莱条件: (1)有有限个间断点 (2)有有限个极值点 (3)绝对可积,.,傅立叶变换的定义及基本概念,.,傅立叶变换的定义及基本概念,.,例2.20求函数的傅立叶变换及其逆变换。 命令如下: syms x t; y=abs(x); Fw=fourier(y,x,w) %求y的傅立叶变换 fx=ifourier(Fw,w,x) %求Ft的傅立叶逆变换 命令如下: f = exp(-x2) Ft=fourier(f) fx=ifourier(Ft),.,例2.21计算y=x2的拉普拉斯变换及其逆变换. 命令如下: x=sym(x);y=x2; Ft=laplace(y,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论