大学数学实验5-符号计算.ppt

上传人:牧羊曲112 文档编号:6561288 上传时间:2023-11-12 格式:PPT 页数:50 大小:258.66KB
返回 下载 相关 举报
大学数学实验5-符号计算.ppt_第1页
第1页 / 共50页
大学数学实验5-符号计算.ppt_第2页
第2页 / 共50页
大学数学实验5-符号计算.ppt_第3页
第3页 / 共50页
大学数学实验5-符号计算.ppt_第4页
第4页 / 共50页
大学数学实验5-符号计算.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《大学数学实验5-符号计算.ppt》由会员分享,可在线阅读,更多相关《大学数学实验5-符号计算.ppt(50页珍藏版)》请在三一办公上搜索。

1、符号计算,符号对象的建立,变量的相互转换,利用符号函数画图,符号计算,数学计算有数值计算与符号计算之分,两者的区别很明显,符号计算可以看作是一个通用的公式类表达法;而数值计算则是通过一些具体的算法实现来得到最后的数学结果;在数值计算中,所运作的变量都是被赋了值的数值变量,而在符号计算中,运算过程与运算结果中存在非数值的符号变量。两者的根本区别是:数值计算的表达式中不允许有未定义的自由变量,而符号计算可以含有未定义的符号变量。,数值运算包括:多项式运算(多项式相乘、相加、相除、多项式求导、求根、多项式拟合)、矩阵的算术运算(矩阵分解、特征值与特征向量、行列式、逆矩阵)、线性方程组求解、常微分方程

2、的数值解、数据统计分析、数值积分、求解优化问题等符号运算包括:微积分、符号微分方程求解、符号代数方程求解、积分变换等。,符号对象的建立,在进行符号运算前,应先声明用到的变量哪些是符号变量,哪些表达式是符号表达式,MATLAB提供了两个建立符号对象的函数:sym和syms,符号变量,s=sym(arg)建立一个符号量,arg可以是常量、变量、函数或表达式。syms arg1 arg2 argn定义多个符号变量。用这种格式定义符号变量时不要在变量名上加字符串分界符(),变量间用空格而不要用逗号分隔。,例 比较数值型、字符型、符号型,注意观察符号变量的保存方式,x=input(Input x ple

3、ase.);s=12345t=123456y=sym(123456)z=sym(123456)syms a b csyms a,t,y,z,符号表达式,直接创建:f=sym(2*x2+b*x+c)符号表达式2*x2+b*x+c直接赋给了符号变量,但对于符号表达式中的变量x,b,c并未创建,因此系统并不认识符号b,c。,间接创建:在创建符号表达式前,先把符号表达式中的所有变量定义为符号变量,然后直接键入表达式。用间接创建法得到的符号表达式才是真正意义下的表达式。,例 定义表达式a*x2+b*x+c为符号表达式,并求关于x的导数与积分,syms a b c xf=a*x2+b*x+cdiff(f)

4、int(f),符号方程,符号方程的创建与符号表达式相同,它们的区别仅在于:符号方程必须带等号“=”,而符号表达式则不包含等号。,例f=sym(a*x2+b*x+c=0),符号矩阵,直接创建:利用sym命令,矩阵元素可以是任何的符号变量、符号表达式及方程,且元素的长度可以不同。间接创建:在创建符号矩阵前,先把符号矩阵的所有变量定义为符号变量,然后按照创建普通矩阵的格式输入。,例 创建符号矩阵,直接创建:A=sym(sin(x),x+y=2,a;2,6+cos(tan(x),1/x),间接创建:syms a x ye=sym(x+y=2)f=sym(6+cos(tan(x)A=sin(x),e,a

5、;2,f,1/x,由数值矩阵转化为符号矩阵:例b=1 2 3;4 5 6c=sym(b),变量的相互转换,将字符变量转换为数值变量,x=eval(s)将字符型变量s(必须是全为数字的字符)转换为数值变量xx=str2num(s)将字符型变量s(可以含有字母)转换为数值变量x,例a=1,2;3,4b=eval(a)c=str2num(a)x=123456y=eval(x)z=str2num(x),再试试下面的命令s=hellos1=eval(s)s2=str2num(s)%返回一个空矩阵,例x1=134s1=num2str(x1)x2=1/2s2=num2str(x2),将数转换为字符变量,s=

6、num2str(x)将数x转换为字符变量s,转换为双精度数值变量,x=double(s)将s转换为双精度型数值变量,当s是符号变量时,它必须是全为数字的符号,返回数值变量x;当s是字符变量时,返回矩阵x,矩阵中的元素是相应的ASCII值,例s1=sym(136.8)x1=double(s1)s2=123456x2=double(s2)s3=12ab56x3=double(s3),再试试下面的命令s4=sym(12ab8)x4=double(s4),利用符号函数画图,二维曲线,ezplot(f)ezplot(f,min,max,)ezplot(f,xmin,xmax,ymin,ymax,)绘制二

7、维函数f(x,y)的曲线图,参数为x,y取值范围,默认情况下,取值区间为(-2,2),例 绘制函数f=x4-y2的曲线图syms x y f=x4-y2ezplot(f),例 求函数x=cos(2*t),y=sin(t)的曲线图syms t;x=cos(2*t);y=sin(t);ezplot(x,y),ezplot(x,y)ezplot(x,y,tmin,tmax)绘制二维函数x=x(t),y=y(t)的二维曲线,变量t的取值范围为tmin,tmax,默认情况下取值为为(0,2)。,ezcontour(f)ezcontour(f,domain)绘制函数f(x,y)的等高线图,x和y的取值范围

8、为domain,当domain为xmin,xmax,ymin,ymax时,表示xminxxmax,yminyymax;当domain为min,max时,表示minxmax,minymax;默认情况下,为-2x2,-2y2。,等高线,例 绘制函数f=3*exp(-(x2)-(y+1)2)-10*(x/5-x3-y5)*exp(-x2-y2)的等高线图:syms x y;f=3*exp(-(x2)-(y+1)2)-10*(x/5-x3-y5)*exp(-x2-y2);ezcontour(f)%绘制等高线图,默认变量的取值范围figure(2)ezcontour(f,-1,1,-3,-1)%关注局部

9、等高线状况,ezplot3(x,y,z)ezplot3(x,y,z,tmin,tmax)绘制三维函数x=x(t),y=y(t),z=z(t)的三维曲线,变量t的取值范围为tmin,tmax,默认情况下取值为为(0,2)。,三维曲线,例 绘制函数x=cos(t),y=sin(t),z=t的曲线图syms t;x=cos(t);y=sin(t);z=t;ezplot3(x,y,z)figure(2)ezplot3(x,y,z,-3*pi,3*pi),ezsurf(f)ezsurf(f,domain)绘制函数f(x,y)的三维曲面图,x和y的取值范围为domain,当domain为xmin,xmax

10、,ymin,ymax时,表示xminxxmax,yminyymax;当domain为min,max时,表示minxmax,minymax;默认情况下为-2x2,-2y2。,三维曲面,例 绘制函数f=2*cos(x)+y的三维曲面图syms x y;f=2*cos(x)+y;ezsurf(f),如果将命令换为ezmesh,与原来所讲过的区别是一样的。,ezsurf(x,y,z)ezsurf(x,y,z,smin,smax,tmin,tmax)ezsurf(x,y,z,min,max)绘制函数x=x(s,t),y=y(s,t),z=z(s,t)的三维曲面图,s,t的取值范围为sminssmax,t

11、minttmax 或者mins,tmax;默认情况下为-2s2,-2t2。,例 绘制函数x=cos(s),y=sin(t),z=1/3*s的三维曲面图syms s t;x=cos(s);y=sin(t);z=1/3*s;ezsurf(x,y,z),微积分,复合函数运算,compose(f,g)f=f(x),g=g(y),得到复合函数为f(g(y)。compose(f,g,t)f=f(x),g=g(y),得到复合函数为f(g(t),例 将函数 复合到一个函数中,syms x y;f=1/x3g=tan(y)compose(f,g),例 将函数 复合到一个函数中,并指定自变量为t,syms x y

12、 t;f=1/x3g=tan(y)compose(f,g,t),符号表达式的反函数运算,g=finverse(f)f是一个符号函数表达式,其变量为x,求得的反函数g是满足g(f(x)=x的符号函数,即f的反函数。,g=finverse(f,t)求得的反函数g是满足g(f(t)=t的符号函数,即得到自变量为t的f的反函数。当函数包含不止一个符号变量时,往往使用这种求反函数的调用格式。,例 求函数 的反函数,f=sym(1/sin(x)g=finverse(f),例 分析下列语句的执行结果 f=sym(1/sin(x)+y)g=finverse(f,x),例 求f=x2+1的反函数 f=sym(x

13、2+1)finverse(f),极限,limit(f,n,inf)当n趋于无穷大时符号表达式f的极限limit(f)当x趋于0时符号表达式f的极限limit(f,x,a)当x趋于a时符号表达式f的极限limit(f,x,a,left)当x从左侧趋于a时符号表达式数f的极限limit(f,x,a,right)当x从右侧趋于a时符号表达式f的极限,例 下列语句是求的哪些函数的极限,结果如何?syms x;limit(sin(x)/x,x,0)syms x;limit(sin(1/x),x,0)syms n;limit(1+1/n)n,n,inf),syms x;limit(1+1/x)x,x,in

14、f)syms x;limit(1/x,x,0,left),导数,diff(f,x,n)符号表达式f对自变量x的n阶导数,例 下列语句是求的哪些函数的导数,结果如何?,syms x;y=sin(x)/x;diff(y,x,1)syms x;diff(1/x,x,2),练习与思考:自己找一些函数,求极限、导数,画出函数的图形,观察极值点、拐点的大致位置,求零点,驻点等。,不定积分和定积分,int(f,x)对变量x求不定积分,f为符号表达式。int(f,x,a,b)对变量x求从a到b的定积分,f为符号表达式。,例 求不定积分,syms x ny=int(xn),syms x nint(xn,x),或

15、者,例 求不定积分,syms a xy=1/(a2-x2);int(y,x);pretty(int(y,x),例 计算,syms a b xy=a*x b*x2;1/x sin(x)int(y,x)pretty(int(y,x),例 求不定积分,syms xy=log(x)/exp(x2)int(y,x),例 求定积分,syms xy=int(x7,x,0,1),例 求定积分,并画出被积函数的图形,syms xy1=1+x-1/x;y2=exp(x+1/x);f=y1*y2;int(f,x,1/2,2)ezplot(f),例 求,syms x ty1=exp(t2);y2=t*y12;z1=i

16、nt(y1,t,0,x);z2=int(y2,t,0,x);f=z12/z2;limit(f,x,0),例 变上限函数,求导,syms x ty=sqrt(1-t2);f=int(y,t,0,x2);diff(f)pretty(simple(diff(f),广义积分、暇积分,int(f,x,a,inf)求区间(a,+)上的广义积分,f为符号表达式,是被积函数,积分变量为x。int(f,x,-inf,b)求区间(-,b)上的广义积分,f为符号表达式,是被积函数,积分变量为x。int(f,x,-inf,inf)求区间(-,+)上的广义积分,f为符号表达式,是被积函数,积分变量为x。,例 计算广义积

17、分,syms xf=1/(x4);int(f,x,1,inf),syms xy=int(exp(sin(x)-x2/50),-inf,inf)vpa(y,10)%据表达式x得到n为有效数字的符号数字,最后一行命令换成下面的命令,又怎么样double(y),例 计算暇积分,syms xy=int(1/(1+sin(x)*sqrt(x),0,1)vpa(y,10)%据表达式x得到n为有效数字的符号数字,最后一行命令换成下面的命令,又怎么样double(y),多元微积分学,对于多元函数中的某一变量求偏导数,等价于将其余变量看作常量,仅对该变量求导即可,因此转化为一元函数的求导问题。对于重积分的计算,

18、只要将其化为累次积分即可以按照定积分来进行计算。,例 求二次积分,syms x yint(int(x*y,y,2*x,x2+1),x,0,1),级数求和,symsum(s,k,a,b)符号表达式s相对于符号变量k求和,k从a到b累加,例 求级数,syms x ks1=symsum(1/k2,k,1,inf)s2=symsum(xk,k,0,inf),泰勒级数展开,taylor(f,n,x)将函数f(x)在x=0处展开n阶马克劳林级数taylor(f,n,x,a)将函数f(x)在x=a处展开n阶泰勒级数,例 将函数,展开为关于(x-2)的最高次为4的幂级数,syms xf=1/x2;taylor(f,4,x,2),例 将正弦函数sinx的不同阶数的泰勒展式,观察其逼近过程,clearsyms xy=sin(x)ezplot(y)hold onf1=taylor(y,35,x)ezplot(f1),Thank you very much for your attendance!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号