第5章MATLAB符号运算-课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第5章MATLAB符号运算-课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 符号 运算 课件
- 资源描述:
-
1、MATLAB 7.X程序设计程序设计1创建符号常量和变量;创建符号常量和变量;符号多项式的运算;符号多项式的运算;符号微积分的计算;符号微积分的计算;符号积分变换的计算;符号积分变换的计算;符号微分方程和代数方程的求解。符号微分方程和代数方程的求解。MATLAB 7.X程序设计程序设计2符号计算的特点:符号计算的特点:1)符号计算定义在符号变量的基础上,符号表)符号计算定义在符号变量的基础上,符号表达式计算前必须定义符号变量。达式计算前必须定义符号变量。2)符号计算是精确计算。)符号计算是精确计算。3)符号计算的计算速度较慢。)符号计算的计算速度较慢。4)符号计算的运算符和基本数学函数与数值计
2、)符号计算的运算符和基本数学函数与数值计算中的运算符和基本数学函数几乎完全相同。算中的运算符和基本数学函数几乎完全相同。MATLAB 7.X程序设计程序设计3symsym函数创建符号常量,格式函数创建符号常量,格式1 1为:为:sym(sym(常量常量)b=sym(pi)%创建符号常量创建符号常量MATLAB 7.X程序设计程序设计4 symsym函数的格式函数的格式2 2为:为:sym(sym(常量常量,参数参数)功能:功能:把常量按参数的格式要求转换为符号常把常量按参数的格式要求转换为符号常量。其中参数的含义:量。其中参数的含义:d d 返回最接近的十进制数返回最接近的十进制数(默认位数为
3、默认位数为3232位位)f f 返回该符号值最接近的浮点表示返回该符号值最接近的浮点表示r r 返回该符号值最接近的有理数型返回该符号值最接近的有理数型(为系统默认为系统默认方式方式),可表示为,可表示为p/qp/q、p p*q q、10q10q、p/qp/q、2q2q和和sqrt(p)sqrt(p)形式之一形式之一e e 返回最接近的带有机器浮点误差的有理值返回最接近的带有机器浮点误差的有理值MATLAB 7.X程序设计程序设计5 sym(sym(变量变量,参数参数)功能:功能:把变量定义为符号对象。其中把变量定义为符号对象。其中参数参数用来设置限定符号变量的数学特性,有三用来设置限定符号变
4、量的数学特性,有三种选择:种选择:positive positive 表示为表示为“正、实正、实”符号变符号变量,量,real real 表示为表示为“实实”符号变量,符号变量,unrealunreal 表示为表示为“非实非实”符号变量。符号变量。如果不限定则参数可省略。如果不限定则参数可省略。MATLAB 7.X程序设计程序设计6symssyms函数的格式为:函数的格式为:syms(arg1,arg2,syms(arg1,arg2,参数参数)syms arg1 arg2 syms arg1 arg2 参数参数功能:创建多个符号变量。功能:创建多个符号变量。a=sym(a);b=sym(b);
5、c=sym(c);x=5;y=-8;z=11;w=a*a+b*b+c*c w=x*x+y*y+z*zMATLAB 7.X程序设计程序设计75.2.3 建立建立符号表达式符号表达式(1)利用单引号来生成符号表达式。利用单引号来生成符号表达式。y=1/sqrt(2*x)f=cos(x2)-sin(2*x)=0MATLAB 7.X程序设计程序设计8 u=sym(3*x2-5*y+2*x*y+6)m=sym(a,b;c,d)MATLAB 7.X程序设计程序设计9 syms x y;v=3*x2-5*y+2*x*y+6MATLAB 7.X程序设计程序设计10findsym(f,n)syms a b n
6、t xf=a*xn+b*tfindsym(f,1)MATLAB 7.X程序设计程序设计115.3 符号表达式的运算符号表达式的运算1.算术运算算术运算与数值运算一样,注意与数值运算一样,注意”,”/”的区别的区别MATLAB 7.X程序设计程序设计12例例 表达式的算术运算表达式的算术运算 f1=sym(1/(a-b);f2=sym(a/(a+b);f1+f2 f1-f2 f1*f2 f12MATLAB 7.X程序设计程序设计132.关系运算关系运算运算符:运算符:=关系成立为关系成立为1,不成立为,不成立为0 f1=f2 f1=f2MATLAB 7.X程序设计程序设计143.函数运算函数运算
7、(1)合并合并 collect格式:格式:collect(f)对符号表达式对符号表达式f合并同类项合并同类项collect(f,v)对符号表达式对符号表达式f按变量按变量v 合并合并MATLAB 7.X程序设计程序设计15例例 合并合并 syms x y;R1=collect(x+1)*(y+1),x+y)R1=(y+1)*x+y+1,x+y R2=collect(x+y)*(x2+y2+1),y)R2=y3+x*y2+(x2+1)*y+x*(x2+1)MATLAB 7.X程序设计程序设计16(2)展开展开expand格式:格式:expand(f)将表达式将表达式f展开展开例:展开例:展开 s
8、yms x y a b R1=expand(x-2)*(x-4)R2=expand(cos(x+y)R3=expand(exp(a+b)2)MATLAB 7.X程序设计程序设计17(3)因式分解因式分解 factor格式:格式:factor(f)将将f因式分解因式分解例例 因式分解因式分解 f=sym(x2+y2+2*x*y);R1=factor(f)MATLAB 7.X程序设计程序设计18(4)化简化简simplify(f):利用代数中的函数规则对表利用代数中的函数规则对表 达式进行化简达式进行化简simple(f):使用其他方法尽可能将表达式使用其他方法尽可能将表达式化简化简MATLAB
9、7.X程序设计程序设计19例例 化简化简 f=sym(cos(x)2+sin(x)2);g=sym(cos(x)+(-sin(x)2)(1/2);R=simplify(f)R1=simplify(g)R2=simple(g)MATLAB 7.X程序设计程序设计20(5)提取分子、分母提取分子、分母格式:格式:n,d=numden(f)提取分子、分母提取分子、分母 n=numden(f)只提取分子只提取分子MATLAB 7.X程序设计程序设计21例例 提取分子、分母提取分子、分母 f=sym(x-1)/(x-2)+(x-3)/(2*x-1);nf,df=numden(f)nf=3*x2-8*x+
10、7df=(x-2)*(2*x-1)g=sym(x/2,a*x/(b*x+c);1/3,4*x+5);ng,dg=numden(g)ng=x,a*x 1,4*x+5dg=2,b*x+c 3,1 MATLAB 7.X程序设计程序设计22(6)反函数反函数格式:格式:finverse(f)对默认自变量的函数求反函数对默认自变量的函数求反函数finverse(f,v)对自变量对自变量v的函数的函数f(v)求反函求反函 数数MATLAB 7.X程序设计程序设计23例例 反函数反函数 syms x y;finverse(1/tan(x)ans=atan(1/x)f=x2+y;finverse(f,y)an
11、s=-x2+ytg(x)=1/zx=argtg(1/z)MATLAB 7.X程序设计程序设计24(7)复合函数复合函数composef=f(x)g=g(y)格式:格式:compose(f,g)f(g(y)compose(f,g,z)f(g(z)compose(f,g,x,z)f(g(z)x是是f的自变量的自变量compose(f,g,x,y,z)f(g(z)x是是f的自变量的自变量 y是是g的自变量的自变量MATLAB 7.X程序设计程序设计25例例 复合函数复合函数 syms x y z t f=1/(1+x2);g=sin(y);h=xt;compose(f,g)compose(f,g,t
12、)compose(h,g,x,z)%h(g(z)x为自变量为自变量 compose(h,g,t,z)%h(g(z)t为自变量为自变量MATLAB 7.X程序设计程序设计26(8)表达式替换函数表达式替换函数格式:格式:subs(s,new)用符号或数值变量用符号或数值变量new 替换替换s 中的默认变量中的默认变量 subs(s,old,new)用符号或数值变量用符号或数值变量new 替换替换s中的符号变量中的符号变量oldMATLAB 7.X程序设计程序设计27例例 替换函数替换函数 syms a b subs(a+b,a,4)subs(cos(a)+sin(b),a,b,sym(alpha
13、),2)f=sym(y-sin(x);f1=subs(f,pi)f2=subs(f1,y,2)MATLAB 7.X程序设计程序设计28 求求tetex x的反函数。的反函数。f=sym(t*ex)%原函数原函数 g=finverse(f)%对默认自由变量对默认自由变量x x求反函数求反函数 g=finverse(f,t)%对对t t求反函数求反函数 求求y=xy=x2 2的反函数。的反函数。syms x;f=x2;g=finverse(f)fg=compose(g,f)%验算验算g(f(x)g(f(x)是否等于是否等于x xMATLAB 7.X程序设计程序设计291.利用函数利用函数sym可以
14、将数值表达式变可以将数值表达式变换成它的符号表达式。换成它的符号表达式。2.函数函数numeric或或eval可以将符号表达可以将符号表达 式变换成数值表达式。式变换成数值表达式。MATLAB 7.X程序设计程序设计30 sym(1.5)sym(3.14)phi=(1+sqrt(5)/2 eval(phi)MATLAB 7.X程序设计程序设计311.符号极限符号极限格式:格式:limit(f,x,a):limit(f):limit(f,a):limit(f,x,a,left):limit(f,x,a,right):0lim()xf xlim()xaf xlim()xaflim()xaf xli
15、m()xaf xMATLAB 7.X程序设计程序设计32 sym x limit(xx,x,0,right)ans=1 limit(sin(x)/x,x,0)ans=1 limit(1/x,x,0,left)ans=-Inf%负无穷大负无穷大0sinlimxxx01limxx例例 计算计算 ,0lim xxxMATLAB 7.X程序设计程序设计33函数极值函数极值格式:格式:fmin(fname,x1,x2)fmin(fname,x0)求求 在在0,50,5内的最小值内的最小值 3()25f xxxMATLAB 7.X程序设计程序设计342.微分微分格式:格式:diff(f):求求f对默认自变
16、量的一次微分值对默认自变量的一次微分值diff(f,t):求求f对自变量对自变量t的一次微分值的一次微分值diff(f,n):求求f对默认自变量的对默认自变量的n次微分值次微分值diff(f,t,n):求求f对自变量对自变量t的的n次微分值次微分值MATLAB 7.X程序设计程序设计35例例 求求f(x)=ax2+bx+c的微分的微分 f=sym(a*x2+b*x+c);diff(f)%对对x求一次微分求一次微分 diff(f,2)%对对x求二次微分求二次微分 diff(f,a)%对对a求一次微分求一次微分 diff(f,a,2)%对对a求二次微分求二次微分 diff(diff(f),a)%对
17、对x和和a偏导偏导MATLAB 7.X程序设计程序设计363.积分积分符号积分格式:符号积分格式:int(f):求求f对默认自变量的不定积分对默认自变量的不定积分int(f,t):求求f对对t的不定积分的不定积分int(f,a,b):求求f对默认自变量的定积分对默认自变量的定积分,积分区间积分区间a,bint(f,t,a,b):求求f对对t的定积分的定积分,积分区间积分区间a,bMATLAB 7.X程序设计程序设计37例例 求求f(x)=ax2+bx+c的积分的积分 syms a b c x f=sym(a*x2+b*x+c);int(f)%f的不定积分,自变量是的不定积分,自变量是x int
展开阅读全文