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章章 符号计算符号计算教学目标教学目标教学重点教学重点教学内容教学内容教学目标 一是讲述一是讲述MATLAB符号计算基本知识,包符号计算基本知识,包括符号对象的创建、符号数字、符号表达括符号对象的创建、符号数字、符号表达式的操作;式的操作;二是介绍符号微积分的计算;二是介绍符号微积分的计算;三是介绍符号矩阵分析和代数方程(组)三是介绍符号矩阵分析和代数方程(组)的符号解法;的符号解法;四是介绍符号计算结果的可视化。四是介绍符号计算结果的可视化。教学重点 熟悉符号对象的创建、符号数字、符号熟悉符号对象的创建、符号数字、符号表达式的操作。表达式的操作。熟悉符号微积分的基本计算函数指令。熟悉符
2、号微积分的基本计算函数指令。熟悉代数方程(组)的符号解法。熟悉代数方程(组)的符号解法。熟悉符号计算结果可视化的的基本指令。熟悉符号计算结果可视化的的基本指令。了解符号计算帮助系统及其帮助指令。了解符号计算帮助系统及其帮助指令。教学内容2.1符号对象和符号表达式符号对象和符号表达式2.2 符号数字及表达式的操作符号数字及表达式的操作 2.3 符号微积分符号微积分2.4 微分方程的符号解法微分方程的符号解法2.5 符号变换和符号卷积符号变换和符号卷积 2.6 符号矩阵分析和代数方程解符号矩阵分析和代数方程解 2.7 代数状态方程求符号传递函数代数状态方程求符号传递函数 2.8 符号计算结果的可视
3、化符号计算结果的可视化 2.9 符号计算资源深入利用符号计算资源深入利用Matlab的符号计算功能的符号计算功能umatlab自产生起就在数值计算上功能卓著自产生起就在数值计算上功能卓著,深受各专深受各专业计算人员的欢迎业计算人员的欢迎.但由于在数学但由于在数学,物理等各种科研和工物理等各种科研和工程应用中经常会遇到符号运算的问题程应用中经常会遇到符号运算的问题.为此为此,公司于公司于1993年购买了年购买了 Maple 软件的使用权软件的使用权,并在此基础上并在此基础上,开开发了符号计算工具箱发了符号计算工具箱(Symbolic Math Toolbox)umatlab 从从2008b 开始
4、与符号计算语言开始与符号计算语言MuPAD 相相结合,到结合,到2009b止仍然支持止仍然支持Maple引擎(需单独安装引擎(需单独安装Maple软件)软件)。在此版本之间输入指令。在此版本之间输入指令symengine弹出选择弹出选择MuPAD和和 Maple引擎的窗口。引擎的窗口。u从从2010a开始不再支持开始不再支持Maple引擎。引擎。符号运算与数值运算的区别:符号运算与数值运算的区别:符号运算中,解算数学表达式、方程时,不是在离散符号运算中,解算数学表达式、方程时,不是在离散化的数值点上进行,而是凭借一系列恒等式和数学定化的数值点上进行,而是凭借一系列恒等式和数学定理,通过推理和演
5、绎,获得解析结果。这种计算建立理,通过推理和演绎,获得解析结果。这种计算建立在数值完全准确表达和推演严格解析的基础上,所得在数值完全准确表达和推演严格解析的基础上,所得结果是完全准确的。结果是完全准确的。符号运算符号运算-代数运算,公式推导代数运算,公式推导数值运算数值运算-算术运算算术运算代值代值2.1 符号对象和符号表达式符号对象和符号表达式在在matlab中中,数值和数值变量用于数值的存储和各种数值计算数值和数值变量用于数值的存储和各种数值计算.而而符号常量符号常量,符号变量符号变量,符号函数符号函数,符号操作等则是用来形成符号操作等则是用来形成符号符号表达式表达式,严格按照代数严格按照
6、代数,微积分等课程中的规则微积分等课程中的规则,公式进行运算公式进行运算,并并尽可能给出尽可能给出解析表达式解析表达式.2.1.1 符号对象的创建和衍生符号对象的创建和衍生 数值计算数值计算-变量先赋值变量先赋值,再使用再使用.符号计算符号计算-先定义基本的符号对象先定义基本的符号对象(可以是可以是常量常量,变变 量量,表达式表达式),然后用这些基本符号对象去构成新的表达然后用这些基本符号对象去构成新的表达式式,再进行所需的符号运算再进行所需的符号运算2.1.1 符号对象的创建和衍生符号对象的创建和衍生1.生成符号对象的基本规则生成符号对象的基本规则 任何基本符号对象(数字、参数、变量、表达式
7、)任何基本符号对象(数字、参数、变量、表达式)都必须借助专门的符号函数指令都必须借助专门的符号函数指令sym或或syms定义。定义。任何包含符号对象的表达式或方程,将继承符号任何包含符号对象的表达式或方程,将继承符号对象的属性。即任何包含符号对象的表达式、方程对象的属性。即任何包含符号对象的表达式、方程也一定是符号对象。也一定是符号对象。2 符号数字的定义符号数字的定义格式:格式:sc=sym(num)%sc为值为为值为num的符号数字的符号数字注意:注意:i)单引号必须在英文状态下输入,构成字符串单引号必须在英文状态下输入,构成字符串 ii)num为一个具体的数字为一个具体的数字如:如:sc
8、=sym(2/3)sb=sym(pi+sqrt(5)sc=2/3sb=pi+5(1/2)2 符号数字的定义符号数字的定义【例【例2.1-1】符号(类)数字与数值(类)数字之间的差异。】符号(类)数字与数值(类)数字之间的差异。a=pi+sqrt(5)sa=sym(pi+sqrt(5)Ca=class(a)Csa=class(sa)vpa(sa-a)a=5.3777sa=pi+5(1/2)Ca=doubleCsa=symans=0.00000000000000001382237584108520004859354256418 本例表现符号数字总是被准确记录和运算,而数值数字并不本例表现符号数字总
9、是被准确记录和运算,而数值数字并不总能保证被准确存储,运算时会引进截断误差。总能保证被准确存储,运算时会引进截断误差。3.基本符号变量:基本符号变量:定义格式:定义格式:i)syms para para=sym(para)syms a;a=sym(a)ii)syms para flag para=sym(para,flag)syms a positive;a=sym(a,positive)flag为参数属性:为参数属性:positive-参数取正实数参数取正实数real-参数为实数参数为实数unreal-参数为限定的复数参数为限定的复数iii)syms a b c syms a b c fla
10、g无逗号无逗号符号参数符号参数(表达式中的参数)(表达式中的参数),“待解符号变量待解符号变量”或或“自由符号变量自由符号变量”(表达式中的自变量(表达式中的自变量x,默认默认为为x)25sin(3)30uzxzwa4.自由符号变量自由符号变量symvar(expression)列出表达式中所有基本符号变量列出表达式中所有基本符号变量symvar(expression,n)列出表达式中认定列出表达式中认定n个自由符号变量个自由符号变量expression是符号表达式或符号表达式矩阵,是符号表达式或符号表达式矩阵,x是是首选自由符号变量,认定优先次序为首选自由符号变量,认定优先次序为x,y,w,
11、z,v等等u解题结果是解题结果是“用符号参数构成的表达式表述自由符号用符号参数构成的表达式表述自由符号变量变量”。解题时自由符号变量可。解题时自由符号变量可“人为指定人为指定”,也可也可“默认地自动认定默认地自动认定”:与小写字母与小写字母 x 的的ASII码距离最码距离最小的变量。小的变量。syms u v w z a5f=sym(3);Eq=sin(f)*u*z2+v*z+f*w-a5;u【例【例2.1-2】用符号计算研究方程用符号计算研究方程 的解的解。25sin(3)30uzvzwasymvar(Eq)%按字母表顺序列出基本符号变量按字母表顺序列出基本符号变量,无无 fans=a5,u
12、,v,w,z symvar(Eq,100)%按离按离x的距离列出所有自由符号变量的距离列出所有自由符号变量ans=w,z,v,u,a5result_1=solve(Eq)result_1=a5/3-(v*z)/3-(u*sin(3)*z2)/3 result_2=solve(Eq,z)result_2=-(v-(v2+4*a5*u*sin(3)-12*u*w*sin(3)(1/2)/(2*u*sin(3)-(v+(v2+4*a5*u*sin(3)-12*u*w*sin(3)(1/2)/(2*u*sin(3)syms a b x X Yk=sym(3);z=sym(c*sqrt(d)+y*sin
13、(t);EXPR=a*z*X+(b*x2+k)*Y;u【例【例2.1-3】元符号表达式、衍生符号表达式定义,基】元符号表达式、衍生符号表达式定义,基本符号变量、自由符号变量的机器认定。本符号变量、自由符号变量的机器认定。E3=sym(a*sqrt(theta)?Error using=sym.sym convertExpression at 2515 E4=sym(a*sqrt(theta1)E5=sym(a*sqrt(theta*t)%在在R2009b版本中还正确版本中还正确?Error using=sym.sym convertExpression at 2515symvar(EXPR)a
14、ns=X,Y,a,b,c,d,t,x,y 无无 k zsymvar(EXPR,10)ans=x,y,t,d,c,b,a,X,Y 4.自由符号变量自由符号变量syms a b t u v x yA=a+b*x,sin(t)+u;x*exp(-t),log(y)+vsymvar(A,1)A=a+b*x,u+sin(t)x/exp(t),v+log(y)ans=x u【例【例2.1-4】symvar确定自由变量是对整个矩阵进行的。确定自由变量是对整个矩阵进行的。2.1.2 符号计算中的算符符号计算中的算符u由于新版由于新版matlab采用了重载采用了重载(Overload)技术技术,使得使得用来构成
15、符号计算表达式的算符和基本函数用来构成符号计算表达式的算符和基本函数,无论在形无论在形式式,名称名称,还是使用方法上还是使用方法上,都与数值计算中的算符和基都与数值计算中的算符和基本函数几乎完全相同本函数几乎完全相同,这给编程带来极大的方便这给编程带来极大的方便.(1)基本运算符基本运算符算符算符”+”,”-”,”*”,”,“/”,“”分别构成矩阵的加分别构成矩阵的加,减减,乘乘,左除左除,右除右除,求幂运算求幂运算.算符算符”.*”,“./”,“.”,“.”分别实现元素对元素的数组乘分别实现元素对元素的数组乘,除除,求幂运算求幂运算.算符算符”,“.”分别实现矩阵的共轭转置分别实现矩阵的共轭
16、转置,非共轭转置非共轭转置2.1.2 符号计算中的算符符号计算中的算符(2)关系运算符关系运算符在符号对象的比较中在符号对象的比较中,没有大于没有大于,大于等于大于等于,小于小于,小于等小于等于的概念于的概念,而而只有是否等于的概念只有是否等于的概念。”=“=“分别分别用来对算符两边的对象进行相等和不等的比较用来对算符两边的对象进行相等和不等的比较,返回返回为逻辑量。事实为真时,比较结果为为逻辑量。事实为真时,比较结果为1,事实为假时,事实为假时,结果为结果为0.2.1.3 符号计算中的函数指令符号计算中的函数指令符号计算中的函数分成三个层次:符号计算中的函数分成三个层次:1.与数值类函数和指
17、令对应的同名符号类函数和指令。与数值类函数和指令对应的同名符号类函数和指令。2.约约50个经典特殊函数(误差函数个经典特殊函数(误差函数erf、贝塞尔函数、贝塞尔函数besselj、椭圆积分、椭圆积分ElliptiK等),借助等),借助mfun调用,调用,用用mfunlist可列出。可列出。3.数量较大的数量较大的MuPAD库函数,借助库函数,借助evalin和和feval调调用。用。(2)指数指数,对数函数对数函数 sqrt,exp,expm在两者中用法相同符号计算中只在两者中用法相同符号计算中只有自然对数有自然对数log,而没有数值计算中的,而没有数值计算中的log2,log10(3)复数
18、函数复数函数 conj,imag,real,abs在两者中用法相同在两者中用法相同.但在符号但在符号计算中没有求相角的指令计算中没有求相角的指令angle.(1)三角函数三角函数,双曲线函数以及他们的反函数双曲线函数以及他们的反函数除除atan2只能用于数值计算外只能用于数值计算外,另外的在两种运算中另外的在两种运算中使用方法相同使用方法相同.与数值类函数和指令对应的同名符号类函数和指令与数值类函数和指令对应的同名符号类函数和指令(4)矩阵代数指令矩阵代数指令在符号计算中在符号计算中,matlab提供的常用矩阵代数指令有:提供的常用矩阵代数指令有:diag,tril,inv,det,rank,
19、eig,svd(Singular value decomposition奇异值分解)等奇异值分解)等与数值类函数和指令对应的同名符号类函数和指令与数值类函数和指令对应的同名符号类函数和指令(5)方程求解指令方程求解指令solve,与数值类不同。,与数值类不同。(6)微积分如微积分如diff,int,与数值类不完全相同。,与数值类不完全相同。(7)积分变换和反变换函数如积分变换和反变换函数如laplace,ilaplace,数,数值类只有值类只有Fourier变换。变换。(8)绘图函数如绘图函数如ezplot,ezsurf,数值类绘图指令更丰富。,数值类绘图指令更丰富。u数值计算对象数值计算对象
20、,符号计算对象符号计算对象,字符串是字符串是MATALB中最常用中最常用的数据对象的数据对象.他们遵循各自不同的运算法则他们遵循各自不同的运算法则,但有时在外形但有时在外形上却十分相似上却十分相似.MATLAB提供了一些识别不同数据对象的提供了一些识别不同数据对象的指令指令,常用的有常用的有class,isa,whos 例例2.1.3-1 数据对象及其识别指令的使用数据对象及其识别指令的使用(1)生成三种不同类型的矩阵,给出不同的显示形式生成三种不同类型的矩阵,给出不同的显示形式clear,a=1;b=2;c=3;d=4%产生四个数值变量产生四个数值变量Mn=a,b;c,d%利用已赋值变量构成
21、数值矩阵利用已赋值变量构成数值矩阵Mc=a,b;c,d%字符串中的字符串中的a,b,c,d与前面输入的数值变量无关与前面输入的数值变量无关Ms=sym(Mc)%符号变量,与前面的各变量无关符号变量,与前面的各变量无关2.1.4 符号对象的识别符号对象的识别Mn=1 2 3 4Mc=a,b;c,dMs=a,b c,dSizeMn=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
22、(Ms)CMn=doubleCMc=charCMs=sym(4)用用isa判断每种矩阵的类别判断每种矩阵的类别isa(Mn,double),isa(Mc,char),isa(Ms,sym)ans=1ans=1ans=1Mn=1 2 3 4 Mc=a,b;c,dMs=a,b c,d(2)三个矩阵的大小不同三个矩阵的大小不同(5)利用利用whos观察内存变量的类别和其他属性观察内存变量的类别和其他属性 Name Size Bytes Class Mc 1x9 18 char array Mn 2x2 32 double array Ms 2x2 312 sym objecta=0:1:6;thet
23、a=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,pia与数组与数组a无关无关whos P26 Name Size Bytes Class ans 1x1 8 double t 1x201 1608 double y 1x201 1608 double 2.1.5 符号运算机理和变量假设符号运算机理和变量假设1.符号运算的工作机理符号运算的工作机理u Matlab借助借助sym或或syms定义符号变量时,启动定义符号变量时,启动MuPAD引擎并启动一
24、个专供引擎并启动一个专供MuPAD使用的内存工作使用的内存工作空间执行符号运算;空间执行符号运算;u matlab内存空间只保存该符号变量和计算结果。内存空间只保存该符号变量和计算结果。u 该定义变量的限定性假设(该定义变量的限定性假设(assumption)被保存在)被保存在MuPAD的内存空间。的内存空间。u 若变量不带限定性假设,则若变量不带限定性假设,则MuPAD默认为复数。默认为复数。2.1.5 符号运算机理和变量假设符号运算机理和变量假设2.对符号变量的限定性假设对符号变量的限定性假设i)syms x para=sym(x)ii)syms x flag para=sym(x,fla
25、g)syms a positive;a=sym(a,positive)iii)syms a b c syms a b c flagflag为参数属性:为参数属性:positive-参数取正实数参数取正实数real-参数为实数参数为实数unreal-参数为限定的复数参数为限定的复数2.1.5 符号运算机理和变量假设符号运算机理和变量假设3.清除变量和撤销假设清除变量和撤销假设u符号变量和其假设存放在不同的内存空间,因此删除符号变量和其假设存放在不同的内存空间,因此删除符号变量和撤销关于变量的假设是两件需要分别处理符号变量和撤销关于变量的假设是两件需要分别处理的事情。的事情。clear all 可
展开阅读全文