Matlab学习指导第二章符号运算解读课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Matlab学习指导第二章符号运算解读课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 学习 指导 第二 符号 运算 解读 课件
- 资源描述:
-
1、2:251第二章第二章 符号计算符号计算2:252符号计算功能符号计算功能matlab自产生起就在数值计算上功能卓著自产生起就在数值计算上功能卓著,深受各专业计算人员深受各专业计算人员的欢迎的欢迎.但由于在数学但由于在数学,物理等各种科研和工程应用中经常会遇到物理等各种科研和工程应用中经常会遇到符号运算的问题符号运算的问题.为此为此,公司于公司于1993年购买了年购买了 Maple 软件的使用软件的使用权权,并在此基础上并在此基础上,开发了符号计算工具箱开发了符号计算工具箱(Symbolic Toolbox)MATLAB中实现符号计算功能的三种途径中实现符号计算功能的三种途径1)调用调用mat
2、lab自己开发的各种功能函数进行常用的符自己开发的各种功能函数进行常用的符号运算号运算.包括符号表达式与符号矩阵的基本操作包括符号表达式与符号矩阵的基本操作,符号矩符号矩阵的运算阵的运算,符号微积分符号微积分,符号线性方程求解符号线性方程求解,符号微分方符号微分方程求解等程求解等.2)为了特殊专业人员提供方便为了特殊专业人员提供方便,matlab还保留还保留mpa.m 和和maple.m两个函数与两个函数与Maple接口接口3)符号函数计算器功能符号函数计算器功能2:253符号运算与数值运算的区别:符号运算与数值运算的区别:符号运算中,解算数学表达式、方程时,不符号运算中,解算数学表达式、方程
3、时,不是在离散化的数值点上进行,而是凭借一系是在离散化的数值点上进行,而是凭借一系列恒等式和数学定理,通过推理和演绎,获列恒等式和数学定理,通过推理和演绎,获得解析结果。这种计算建立在数值完全准确得解析结果。这种计算建立在数值完全准确表达和推演严格解析的基础上,所得结果是表达和推演严格解析的基础上,所得结果是完全准确的。完全准确的。符号运算符号运算-代数运算,公式推导代数运算,公式推导数值运算数值运算-算术运算算术运算代值代值2:2542.1 符号对象和符号表达式符号对象和符号表达式在在matlab中中,数值和数值变量用于数值的存储和各种数值计算数值和数值变量用于数值的存储和各种数值计算.而符
4、号常量而符号常量,符号变量符号变量,符号函数符号函数,符号操作等则是用来形成符号符号操作等则是用来形成符号表达式表达式,严格按照代数严格按照代数,微积分等课程中的规则微积分等课程中的规则,公式进行运算公式进行运算,并并尽可能给出解析表达式尽可能给出解析表达式.2.1.1 符号对象的生成和使用符号对象的生成和使用 数值计算数值计算-变量先赋值变量先赋值,再使用再使用.符号计算符号计算-先定义基本的符号对象先定义基本的符号对象(可以是常量可以是常量,变变 量量,表达式表达式),然后用这些基本符号对象去构成新的表达然后用这些基本符号对象去构成新的表达式式,再进行所需的符号运算再进行所需的符号运算2:
5、255符号对象的创建和衍生符号对象的创建和衍生1.生成符号对象的基本规则生成符号对象的基本规则 任何基本符号对象(数字、参数、变量、表达任何基本符号对象(数字、参数、变量、表达式)都必须借助专门的符号函数指令式)都必须借助专门的符号函数指令sym或或syms定义。定义。任何包含符号对象的表达式或方程,将任何包含符号对象的表达式或方程,将继承符号对象的属性。即任何包含符号对象继承符号对象的属性。即任何包含符号对象的表达式、方程也一定是符号对象。的表达式、方程也一定是符号对象。2:256符号对象的定义:符号对象的定义:f=sym(arg)-把数字把数字,字符串或表达式字符串或表达式arg转为符号对
6、象转为符号对象f=sym(argn,flagn)-把数值或数值表达式转换为把数值或数值表达式转换为flagn格式的符号对象格式的符号对象f=sym(1/2),s=sym(1/3),y=sym(pi),a=sym(b*c)f=1/2,s=1/3,y=pi,a=b*cf=sym(1/2,d),s=sym(1/3,d),y=sym(pi,d)f=sym(1/2,r)=sym(1/2)f=.50000000000000000000000000000000s=.333333333333333314829616256247392:257syms(argv1,argv2,argvk)-把字符把字符argv1
7、,argv2,argvk定义为基本符号对象定义为基本符号对象syms argv1 argv2 argvk-上述格式的简洁形式上述格式的简洁形式,各符各符号对象间不得有逗号号对象间不得有逗号argv=sym(argv,flagv)-按按flagv指定的要求把字符串指定的要求把字符串argv定义为符号对象定义为符号对象argvf=sym(pi),s=sym(2*pi+sin(60*pi*180)+exp(2)f=pi,s=2*pi+sin(60*pi*180)+exp(2)syms(a,b,c)a=a,b=b,c=csyms a b ca=a,b=b,c=c只能定义符号变量只能定义符号变量2:25
8、8说明:说明:f=sym(argn,flagn)中的中的argn是数值或数值表达式时是数值或数值表达式时,flagn可可 选选:d-最接近的十进制浮点精确表示最接近的十进制浮点精确表示.r-最接近的有理表示最接近的有理表示,缺省选项缺省选项.有理是指用两有理是指用两 个正整数个正整数p,q 构成的构成的p/q,p*pi/q,sqrt(p),2q,10q的形式之一的形式之一 argv=sym(argv,flagv)中的中的argv是字符时是字符时,flagv可取限定可取限定选项选项 positive-限定限定argv是是“正,实正,实”符号变量符号变量 real-限定限定argv是是“实实”符号
9、变量符号变量 unreal-argv是非实符号变量是非实符号变量2:2592 符号数字的定义符号数字的定义格式:格式:sc=sym(num)%sc为值为为值为num的符号数字的符号数字注意:注意:i)单引号必须在英文状态下输入,构成字符串单引号必须在英文状态下输入,构成字符串 ii)num为一个具体的数字为一个具体的数字如:如:sc=sym(2/3)sb=sym(pi+sqrt(5)sc=2/3sb=pi+sqrt(5)2:25103 符号参数符号参数定义格式:定义格式:i)syms para para=sym(para)syms a;a=sym(a)ii)syms para flag par
10、a=sym(para,flag)syms a positive;a=sym(a,positive)iii)syms a b c syms a b c flagflag为参数属性:为参数属性:positive-参数取正实数参数取正实数real-参数为实数参数为实数unreal-参数为限定的复数参数为限定的复数4 符号变量符号变量表达式中的自变量表达式中的自变量无逗号无逗号2:2511推荐格式推荐格式:定义符号变量定义符号变量:syms 变量名变量名syms a b c定义符号常数定义符号常数:常数名常数名=sym(常数值常数值)K=sym(2/3);定义符号常数定义符号常数:表达式名表达式名=s
11、ym(表达式表达式);f=sym(a*sin(x)+b);2:2512例例2.1.1-1 符号对象的生成符号对象的生成a1=1/3,pi/7,sqrt(5),sqrt(9),5.1,pi+sqrt(5)a2=sym(1/3,pi/7,sqrt(5),sqrt(9),5.1,pi+sqrt(5)a3=sym(1/3,pi/7,sqrt(5),sqrt(9),5.1,pi+sqrt(5)a1=0.3333 0.4488 2.2361 3.0000 5.1000 5.3777a2=1/3,pi/7,sqrt(5),3,51/10,q*2(-50)a3=1/3,pi/7,sqrt(5),sqrt(9)
12、,5.1,pi+sqrt(5)q=6054707603575008a23=a2-a3a23=0,0,0,0,0,189209612611719/35184372088832-pi-5(1/2)2:2513例例5.1.1-2 把字符表达式转换为符号变量把字符表达式转换为符号变量y=sym(2*sin(x)*cos(x)y=simple(y)y=sin(2*x)说明说明:1)是数值常数,是数值常数,是最接近的有理表示,是最接近的有理表示,是绝对准确是绝对准确的符号数值表示的符号数值表示2)部分元素相同,是因为部分元素相同,是因为 中的那几个元素是有理中的那几个元素是有理表示的基本形式,所以也是绝对
13、准确的表示的基本形式,所以也是绝对准确的3)指令产生的符号数值总是绝对准确的,因此建议:在产指令产生的符号数值总是绝对准确的,因此建议:在产生符号常量时应优先使用这种输入方式,把数值放入单引号对生符号常量时应优先使用这种输入方式,把数值放入单引号对中,数组元素间一定要采用逗号分隔中,数组元素间一定要采用逗号分隔在符号运算中在符号运算中,如果事先没有对表达式中的独立变量进行定义如果事先没有对表达式中的独立变量进行定义,那那么系统将自动检查哪些字符是符号函数么系统将自动检查哪些字符是符号函数,哪些是符号变量哪些是符号变量,并且总并且总是把在英文字母表中离是把在英文字母表中离x最近的字母认做独立符号
14、变量最近的字母认做独立符号变量2:2514例例2.1.1-3 用符号计算验证三角等式用符号计算验证三角等式syms phi1 phi2;y=simple(sin(phi1)*cos(phi2)-cos(phi1)*sin(phi2);y=sin(phi1-phi2)例例2.1.1-4 求矩阵求矩阵11122122aaaa的行列式的行列式,逆和特征值逆和特征值syms a11 a12 a21 a22;A=a11,a12;a21,a22;DA=det(A),IA=inv(A),EA=eig(A)121212sincoscossinsin()A=a11,a12 a21,a22DA=a11*a22-a
15、12*a212:2515例例2.1.1-4 验证积分验证积分syms A t tao w;yf=int(A*exp(-i*w*t),t,-tao/2,tao/2);yf=simple(yf)22sin(2)2i tAedtAyf=2*A*sin(1/2*tao*w)/w练习练习:展开展开sin(4x)(expand)2:25162.1.2 符号计算中的算符和基本函数符号计算中的算符和基本函数由于新版由于新版matlab采用了重载技术采用了重载技术,使得用来构成符号计算表达使得用来构成符号计算表达式的算符和基本函数式的算符和基本函数,无论在形状无论在形状,名称名称,还是使用方法上还是使用方法上,
16、都与数都与数值计算中的算符和基本函数几乎完全相同值计算中的算符和基本函数几乎完全相同,这给编程带来极大的这给编程带来极大的方便方便.(2)关系运算符关系运算符在符号对象的比较中在符号对象的比较中,没有大于没有大于,大于等于大于等于,小于小于,小于等于的概念小于等于的概念,而只有是否等于的概念而只有是否等于的概念.”=“=“分别用来对算符两边的对象分别用来对算符两边的对象进行相等和不等的比较进行相等和不等的比较,返回为逻辑量返回为逻辑量(1)基本运算符基本运算符算符算符”+”,”-”,”*”,”,“/”,“”分别构成矩阵的加分别构成矩阵的加,减减,乘乘,左左除除,右除右除,求幂运算求幂运算.算符
17、算符”.*”,“./”,“.”,“.”分别实现元素分别实现元素对元素的数组乘对元素的数组乘,除除,求幂运算求幂运算.算符算符”,“.”分别实现矩阵分别实现矩阵的共轭转置的共轭转置,非共轭转置非共轭转置2:2517(4)指数指数,对数函数对数函数函数函数sqrt,exp,expm在两者中用法相同符号计算中只有自然在两者中用法相同符号计算中只有自然对数,而没有数值计算中的对数,而没有数值计算中的log2,log10(5)复数函数复数函数conj,imag,real,abs在两者中用法相同在两者中用法相同.但在符号计算中没有求但在符号计算中没有求相角的指令相角的指令.(6)矩阵代数指令矩阵代数指令在
18、符号计算中在符号计算中,matlab提供的常用矩阵代数指令有:提供的常用矩阵代数指令有:diag,triu,tril,inv,det,rank,rref,null,colspace,expm,poly,eig,svd(3)三角函数三角函数,双曲线函数以及他们的反函数双曲线函数以及他们的反函数除除atan2只能用于数值计算外只能用于数值计算外,另外的在两种运算中使用方法相同另外的在两种运算中使用方法相同.2:2518数值计算对象数值计算对象,符号计算对象符号计算对象,字符串是字符串是MATALB中最常用的中最常用的数据对象数据对象.他们遵循各自不同的运算法则他们遵循各自不同的运算法则,但有时在外
19、形上却但有时在外形上却十分相似十分相似.MATLAB提供了一些识别不同数据对象的指令提供了一些识别不同数据对象的指令,常常用的有用的有class,isa,whos 例例2.1.3-1 数据对象及其识别指令的使用数据对象及其识别指令的使用(1)生成三种不同类型的矩阵,给出不同的显示形式生成三种不同类型的矩阵,给出不同的显示形式clear,a=1;b=2;c=3;d=4%产生四个数值变量产生四个数值变量Mn=a,b,c,d%利用已赋值变量构成数值矩阵利用已赋值变量构成数值矩阵Mc=a,b,c,d%字符串中的字符串中的a,b,c,d与前面输入的数值变量无关与前面输入的数值变量无关Ms=sym(Mc)
20、%符号变量,与前面的各变量无关符号变量,与前面的各变量无关Mn=1 2 3 4Mc=a,b;c,dMs=a,b c,d2.1.3 对象类别的识别对象类别的识别2:2519(2)三个矩阵的大小不同三个矩阵的大小不同SizeMn=size(Mn),SizeMc=size(Mc),SizeMs=size(Ms)SizeMn=2 2SizeMc=1 9SizeMs=2 2(3)用用class获得每种矩阵的类别获得每种矩阵的类别CMn=class(Mn),CMc=class(Mc),CMs=class(Ms)CMn=doubleCMc=charCMs=sym(4)用用isa判断每种矩阵的类别判断每种矩阵
21、的类别isa(Mn,double),isa(Mc,char),isa(Ms,sym)ans=1ans=1ans=12:2520(5)利用利用whos观察内存变量的类别和其他属性观察内存变量的类别和其他属性 Name Size Bytes Class Mc 1x9 18 char array Mn 2x2 32 double array Ms 2x2 312 sym objecta=0:1:6;theta=sym(30*pi/180*a)alfa=sym(30*pi/180)*atheta=30*pi/180*aalfa=0,1/6*pi,1/3*pi,1/2*pi,2/3*pi,5/6*pi,
22、pia与数组与数组a无关无关2:25212.1.4 符号表达式中自由变量的确定符号表达式中自由变量的确定findsym(expr)-确认表达式确认表达式expr中所有自由符号变量中所有自由符号变量findsym(expr,n)-从从expr中确认出靠中确认出靠x最近的最近的n个独立自变量个独立自变量例例2.1.4-1 对独立自由符号变量的自动辨认对独立自由符号变量的自动辨认(1)生成符号变量生成符号变量syms a b x X Y;k=sym(3);z=sym(c*sqrt(delta)+y*sin(theta);expr=a*z*X+(b*x2+k)*Y;(2)找出找出expr中的全部自由符
23、号变量中的全部自由符号变量findsym(expr)ans=X,Y,a,b,c,delta,theta,x,y2:2522(3)从从expr中确定中确定1,2,3个自由变量个自由变量findsym(expr,1),findsym(expr,2),findsym(expr,3)ans=xans=x,yans=x,y,thetafindsym 确认的是表达式中的确认的是表达式中的”自由自由”,”独立独立”的符号变量的符号变量,由由于于k不是自由的不是自由的,z不是独立的不是独立的,所以该指令不将其作为自由变量。所以该指令不将其作为自由变量。该指令把该指令把expr表达式中表达式中n个最靠近个最靠近
24、x的自由符号变量确认为的自由符号变量确认为“独独立自由变量立自由变量”,并且认为大写字母离并且认为大写字母离x的距离总大于所有小写字的距离总大于所有小写字母离母离x的距离的距离作用作用:在符号函数调用中在符号函数调用中,当没有明确指定所针对的变量当没有明确指定所针对的变量时时,系统自动确定所操作的自由变量系统自动确定所操作的自由变量2:25232.2 符号对象的操作与转换符号对象的操作与转换2.2.1 符号表达式的操作符号表达式的操作collect合并同类项合并同类项numden 提取公因式提取公因式expand 展开指定项展开指定项simplify 恒等式简化恒等式简化factor因式分解因
25、式分解pretty习惯方式显示习惯方式显示horner转换为嵌套形式转换为嵌套形式 simple简化简化例例2.2.1-1 简化简化sym x;f=(1/x3+6/x2+12/x+8)(1/3);g1=simple(f)g2=sinple(g1)g1=(2*x+1)/xg2=2+1/x验证验证:f2=g23;expand(f2)32611238xxxf 2:2524例例2.2.1-2 因式分解因式分解 9876542fx=sym(9876542);factor(fx)ans=(2)*(13)*(19)*(19993)例例2.2.1-3 因式分解因式分解x12-1syms x;f=x12-1;f
展开阅读全文