版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第章第章Matlab语言的符语言的符号运算号运算 Matlab与控制系统仿真 内内 容容* *符号运算的根本操作符号运算的根本操作 *符号运算符号运算 *符号运算的扩展符号运算的扩展 *符号运算应用于控制理论计算符号运算应用于控制理论计算 符号运算的根本操作符号运算的根本操作 符号运算的概述符号运算的概述Matlab与控制系统仿真 符号运算的根本操作符号运算的根本操作 3 符号运算工具箱符号运算工具箱 4 任意精度的数学运算任意精度的数学运算 1 符号运算的概述符号运算的概述 什么是符号运算什么是符号运算nMatlab 符号运算是通过符号运算是通过符号数学工具箱符号数学工具箱Symbolic
2、Math Toolbox来实现的。来实现的。nMatlab 符号数学工具箱是建立在功能强大的符号数学工具箱是建立在功能强大的 Maple 软件的根底上的,当软件的根底上的,当 Matlab 进展符号运算时,它就进展符号运算时,它就恳求恳求 Maple 软件去计算并将结果返回给软件去计算并将结果返回给 Matlab。 功能:功能:符号表达式的运算、复合、化简等符号表达式的运算、复合、化简等可变精度运算,即支持以指定的精度返回结果可变精度运算,即支持以指定的精度返回结果符号矩阵的运算符号矩阵的运算符号微积分符号微积分符号代数方程求解符号代数方程求解符号微分方程求解符号微分方程求解符号作图符号作图n
3、与数值运算的区别与数值运算的区别 数值运算中必须先对变量赋值数值运算中必须先对变量赋值,然后才能参与运算。,然后才能参与运算。 符号运算无须事先对独立变量赋值符号运算无须事先对独立变量赋值,运算结果以标准,运算结果以标准的符号形式表达。的符号形式表达。n特点:特点:n运算以运算以推理解析推理解析的方式进展,因此不受计算误差积累问题困的方式进展,因此不受计算误差积累问题困扰;扰;n符号计算给出完全正确的解析解,当解析解不存在时,会给符号计算给出完全正确的解析解,当解析解不存在时,会给出数值解;出数值解;n符号计算指令的调用比较简单,与教科书上的公式相近;符号计算指令的调用比较简单,与教科书上的公
4、式相近;n计算所需时间比数值计算要多很多;计算所需时间比数值计算要多很多;n常用的符号计算软件有常用的符号计算软件有Maple、Mathmatica、MathCAD等等 1符号变量与符号表达式符号变量与符号表达式 f = sinx+5x f 符号变量名符号变量名 sinx+5x 符号表达式符号表达式 符号标识符号标识v符号表达式一定要用符号表达式一定要用 单引单引 号括起来号括起来matlab才能识别。才能识别。 v 的内容可以是符号表达式,也可以是符号方程。的内容可以是符号表达式,也可以是符号方程。 例:例: f1=a x2+b x+c 二次三项式二次三项式 f2= a x2+b x+c=0
5、 方程方程 f3=Dy+y2=1 微分方程微分方程符号表达式或符号方程可以赋给符号变量,以后调用方符号表达式或符号方程可以赋给符号变量,以后调用方便;也可以不赋给符号变量直接参与运算便;也可以不赋给符号变量直接参与运算2 符号运算的根本操作符号运算的根本操作 2矩阵的创立矩阵的创立 数值矩阵数值矩阵 A=1,2;3,4 A=a,b;c,d 不识别不识别用用matlab函数函数sym创立矩阵创立矩阵symbolic的缩写的缩写命令格式:命令格式:A=sym 符号矩阵内容同数值矩阵符号矩阵内容同数值矩阵 需用需用sym指令定义指令定义 需用需用 标识标识例:例: A = syma , 2*b ;
6、3*a , 0 A = a, 2*b 3*a, 0 这就完成了一个符号矩阵的创立。这就完成了一个符号矩阵的创立。注意:注意:符号矩阵的每一行的两端都有方括号,这是与符号矩阵的每一行的两端都有方括号,这是与matlab数值矩阵的一个重要区别。数值矩阵的一个重要区别。用字符串直接创立矩阵用字符串直接创立矩阵l 模拟模拟matlab数值矩阵的创立方法数值矩阵的创立方法l 需保证同一列中各元素字符串有一样的长度。需保证同一列中各元素字符串有一样的长度。例:例: A = a,2*b; 3*a, 0 A = a, 2*b 3*a, 0 符号矩阵的修改符号矩阵的修改 a.直接修改直接修改 可用可用 、 键找
7、到所要修改的矩阵,直接修改键找到所要修改的矩阵,直接修改 b.指令修改指令修改 用用A1=symA, , ,new 来修改。来修改。 用用A1=subsA, new, old来修改来修改例:例: A = a, 2*b 3*a, 0A1=symA,2,2, 4*b A1 = a, 2*b 3*a, 4*b A2=subsA1, c, b A2 = a, 2*c 3*a, 4*c A22,2=4*bA2 = a, 2*b 3*a, 4*bm符号矩阵与数值矩阵的转换符号矩阵与数值矩阵的转换u将数值矩阵转化为符号矩阵将数值矩阵转化为符号矩阵函数调用格式:函数调用格式:symAA=1/3,2.5;1/0
8、.7,2/5A = 0.3333 2.5000 1.4286 0.4000symAans = 1/3, 5/210/7, 2/5u将符号矩阵转化为数值矩阵将符号矩阵转化为数值矩阵函数调用格式:函数调用格式: numericAA = 1/3, 5/210/7, 2/5numericAans = 0.3333 2.5000 1.4286 0.40003符号运算工具箱符号运算工具箱 符号运算函数包含在符号运算工具箱中,途径为:符号运算函数包含在符号运算工具箱中,途径为:c:matlabtoolboxsymbolic m函数的符号函数清单详见书函数的符号函数清单详见书P594 任意精度的数学运算任意精
9、度的数学运算 在在symbolic中有三种不同的算术运算:中有三种不同的算术运算:n数值类型数值类型 matlab的浮点算术运算的浮点算术运算n有理数类型有理数类型 maple的准确符号运算的准确符号运算1.vpa类型类型 maple的任意精度算术运算的任意精度算术运算 n浮点算术运算浮点算术运算1/2+1/3 定义输出格式定义输出格式format long ans = 0.83333333333333n符号运算符号运算sym1/2+1/3 ans = 5/6 准确解准确解 n任意精度算术运算任意精度算术运算digitsn 设置可变精度,缺省设置可变精度,缺省16位位vpax,n 显示可变精度
10、计算显示可变精度计算digits25vpa1/2+1/3 ans = .8333333333333333333333333vpa5/6,40 ans =.8333333333333333333333333333333333333333 a=sym1/4,exp1;log3,3/7 a = 1/4,exp1 log3, 3/7 vpaa,10 ans = .2500000000, 2.718281828 1.098612289, .4285714286符号运算符号运算书书3.1.3/3.1.4 符号矩阵运算符号矩阵运算 Matlab与控制系统仿真 符号微分与积分运算符号微分与积分运算 符号代数方
11、程求解符号代数方程求解 4 符号微分方程求解符号微分方程求解 符号矩阵的定义直接使用符号函数句柄对象函数符号矩阵的定义直接使用符号函数句柄对象函数sym来实现。来实现。1符号矩阵运算符号矩阵运算sym x 转换数值矩阵为符号矩阵转换数值矩阵为符号矩阵sym s11,s12,s1n;s21,s22,;,smn 创立使用创立使用s11,s12,smn为矩阵元素的符号矩阵为矩阵元素的符号矩阵例:例:书书P63,例例3.6注:符号运算与数值运算使用一样的运注:符号运算与数值运算使用一样的运算符;算符; 在符号运算中遇到数值矩阵,那么在符号运算中遇到数值矩阵,那么自动转换为符号矩阵参与运算自动转换为符号
12、矩阵参与运算例例1-1:计算指数函数计算指数函数eAt。用拉氏反变换法计算用拉氏反变换法计算eAt的公式为:的公式为: eAt = L-1SI-A-1系统矩阵系统矩阵A=0410difff 对缺省变量求微分对缺省变量求微分difff,v 对指定变量对指定变量v求微分求微分difff,v,n 对指定变量对指定变量v求求n阶微分阶微分intf 对对f表达式的缺省变量求积分表达式的缺省变量求积分intf,v 对对f表达式的表达式的v变量求积分变量求积分intf,v,a,b 对对f表达式的表达式的v变量在变量在a,b 区区 间求定积分间求定积分2符号微分与积分运算符号微分与积分运算int被积表达式被积
13、表达式,积分变量积分变量,积分上限积分上限, 积分下限积分下限 定积分定积分缺省时为不定积分缺省时为不定积分mtaylorf,n 泰勒级数展开泰勒级数展开ztransf Z变换变换iztransf 反反Z变换变换laplacef 拉氏变换拉氏变换ilaplacef 反拉氏变换反拉氏变换fourierf 付氏变换付氏变换ifourierf 反付氏变换反付氏变换 例例1.计算二重不定积分计算二重不定积分dxdyxexy syms x y F=intintx*exp-x*y,x,yF =1/y*exp-x*y例例2.计算计算 f=x*exp-x*10的的Z变换变换 syms x f=x*exp-x*
14、10; F=ztransf3符号代数方程求解符号代数方程求解 matlab符号运算可以解一般的线性方程、非符号运算可以解一般的线性方程、非线性方程及一般的线性方程及一般的代数方程、代数方程组代数方程、代数方程组。当当方程组不存在符号解时,又无其他自由参数,方程组不存在符号解时,又无其他自由参数,那么给出数值解。那么给出数值解。命令格式:命令格式:solvef 求一个方程的解求一个方程的解Solvef1,f2, fn 求求n个方程的解个方程的解 例例1. f = ax2+bx+c 求解求解f=a*x2+b*x+c;n solvef 对缺省变量对缺省变量x求解求解ans =1/2/a*-b+b2-
15、4*a*c1/21/2/a*-b-b2-4*a*c1/2计算机格式aacbb242一般格式例例2. 符号方程符号方程cosx=sinx tan2*x=sinx求解求解f1=solvecosx=sinxf1 =1/4*pi solvef , b 对指定变量对指定变量b求解求解ans =-a*x2+c/x例例3. 解方程组解方程组 x+y+z=1 x-y+z=2 2x-y-z=1g1=x+y+z=1,g2=x-y+z=2,g3=2*x-y-z=1f=solveg1,g2,g3f=solvex+y+z=1,x-y+z=2,2*x-y-z=1f =z = 5/6, y = -1/2, x = 2/34
16、 符号微分方程求解符号微分方程求解n 用一个函数可以方便地得到微分方程的符用一个函数可以方便地得到微分方程的符号解。号解。 符号微分方程求解指令:符号微分方程求解指令:dsolve 命令格式:命令格式:dsolvef,g f 微分方程,可多至微分方程,可多至12个微分方程的求个微分方程的求解;解; g初始条件初始条件 默认自变量为默认自变量为 x,可任意指定自变量可任意指定自变量t, u等等 微分方程的各阶导数项以大写字母微分方程的各阶导数项以大写字母D表示表示dtdydxdy22dtydnndtyd22dxydnndxyd或或或或或或y的一阶导数的一阶导数 Dyy的二阶导数的二阶导数 D2y
17、y的的 n 阶导数阶导数 Dnyy1,y2=dsolvex1,x2,xn 返回微分方程返回微分方程的解的解例例1:一阶微分方程一阶微分方程x,y=dsolveDx=y,Dy=x,x0=0,y0=1x = -1/2*exp-t+1/2*expty = 1/2*exp-t+1/2*expt例例2:二阶微分方程二阶微分方程dsolveD2y=-a2*y,y0=1,Dypi/a=0ans =cosa*x例例3:y=dsolveD2y+2*Dy+2*y=0,y0=1,Dy0=0ans =exp-x*cosx+exp-x*sinxezploty %方程解方程解yt的时间曲线图的时间曲线图22dxyddxd
18、y202y00)(dxdy,1)0(y求该方程的解求该方程的解-6-4-2024050100150200250texp(-t) sin(t)+exp(-t) cos(t)符号运算的扩展符号运算的扩展书书3.2 Matlab与控制系统仿真 maple内核访问函数内核访问函数2 maple检索系统检索系统maple是专门进展数学运算的软件工具,是专门进展数学运算的软件工具, 具有超强的符号运算才能,具有超强的符号运算才能,提供了几乎包提供了几乎包 括所有数学领域的专用函数括所有数学领域的专用函数matlab依赖于依赖于maple的内核与函数库,扩展了自的内核与函数库,扩展了自 己的符号运算功能。己
19、的符号运算功能。 matlab还设计了对还设计了对maple库函数的调用功能使得库函数的调用功能使得已有的已有的maple数学功能,可以扩大数学功能,可以扩大matlab中中,作为作为自身符号运算才能的扩展。自身符号运算才能的扩展。1 maple内核访问函数内核访问函数可以访问可以访问maple内核的内核的matlab函数函数: maple 访问访问maple内核函数内核函数 mfun maple函数求值函数求值 mfunlist maple函数列表函数列表 mhelp maple函数帮助命令函数帮助命令 procread maple函数程序安装函数程序安装1 maple 的调用格式的调用格式
20、maplemaple 表达式表达式 将表达式送至将表达式送至maplemaple内核,返回符内核,返回符号表达式结果。号表达式结果。maple maple 函数函数 ,变量,变量1 1,变量,变量2 2 调用调用maplemaple函数,传递给定变量。函数,传递给定变量。例例1 1:展开展开5 5阶阶 bernoulli bernoulli 多项式,计算多项式,计算 x=3 x=3 时时bernoulli bernoulli 数。数。 a=maplea=maplebernoullibernoulli5,x5,x a = a = -1/6 -1/6* *x+5/3x+5/3* *x3+x5-5/
21、2x3+x5-5/2* *x4x4 a=maple a=maplebernoullibernoulli5,35,3 a = a = 85 85例例2:化简三角函数式化简三角函数式sin2x+cos2xa=maplesimplifysinx2+cosx2;a =1例例3:3: 求求f ft t=e=e-3t-3tsintsint的拉式变换的拉式变换f=maplef=maplelaplacelaplaceexpexp-3-3* *t t* *sinsint t,t,s,t,s f = f = 1/ 1/s+3s+32+12+1nmaple软件中的所有函数,在初始化时并没有软件中的所有函数,在初始化
22、时并没有完全装入内存,可用完全装入内存,可用readlib指令把库函数读入指令把库函数读入内存,或用内存,或用with指令将应用工具包装入内存。指令将应用工具包装入内存。n调用格式调用格式 maplereadlib函数名函数名; maplewith工具包名工具包名;例:例:例例5.求求sinx2+y2在在x=0,y=0处泰勒级数展开式,处泰勒级数展开式,8阶截阶截断。断。maplemtaylorsinx2+y2,x=0,y=0,8 ans = mtaylorsinx2+y2,x = 0, y = 0,8maplereadlibmtaylor;maplemtaylorsinx2+y2,x=0,y
23、=0,8 ans = x2+y2-1/6*x6-1/2*y2*x4-1/2*y4*x2-1/6*y62 mfun函数函数mfunmfun函数的功能是执行函数的功能是执行maplemaple函数的数值运函数的数值运算算格式:格式:mfunmfunmaplemaple函数函数, ,变量变量1 1,变量,变量2 2,例:例:x=0:0.01:5;x=0:0.01:5;y=mfunerfc,xmhelp maplemhelp maple函数帮助命令函数帮助命令mhelp 是协助检索是协助检索maple库函数的专用命令库函数的专用命令调用格式:调用格式:mhelp 相关词条相关词条例如:例如: mhelp intro maple介绍介绍 mhelp maple maple命令格式命令格式 mhelp tutorial ma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 路边广告位转让合同
- 美国自费出国留学咨询服务合同年
- 居间合同佣金承诺书
- 事故车买卖合同协议
- 连车带人租赁合同
- 荒山承包合同范本
- 叉车租赁合同协议书范本大全
- 工地材料运输合同
- 借款合同答辩状范本范本
- 个人工作总结范文20篇
- 2024年广东省公务员录用考试《行测》真题及解析
- 高中英语必背3500单词表(完整版)
- 禁止送礼的协议书
- 2024年版《输变电工程标准工艺应用图册》
- 2024年高考数学试卷(北京)(空白卷)
- 2024从洞见到生意:阿里健康特色人群消费趋势报告-阿里健康x一财商学院
- 人教版2024年新教材七年级上册英语starter unit 1 -unit7重点短语句型清单
- 护理服务在产科中的应用课件
- 2024年小升初语文入学分班测试卷四(统编版)
- 流行文化对青少年价值观的影响研究
- 中国保险行业协会官方-2023年度商业健康保险经营数据分析报告-2024年3月
评论
0/150
提交评论