《新编MATLAB&Simulink自学一本通》课件第9章 符号计算.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《新编MATLAB&Simulink自学一本通》课件第9章 符号计算.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新编MATLAB&Simulink自学一本通 新编MATLAB&Simulink自学一本通课件第9章 符号计算 新编 MATLAB Simulink 自学 课件 符号 计算
- 资源描述:
-
1、2023-5-5主要内容主要内容符号对象和符号表达式符号对象和符号表达式 符号微积分符号微积分符号方程求解符号方程求解 2023-5-5符号计算特点符号计算特点1.计算精确计算精确2.可应用范围有限可应用范围有限符号计算基于数学公式、定理并通过一系列推理、演符号计算基于数学公式、定理并通过一系列推理、演绎得到方程的解或者数学表达式的值。对操作对象不绎得到方程的解或者数学表达式的值。对操作对象不进行离散化和近似化处理。进行离散化和近似化处理。实际科研和生产中遇到的问题绝大多数都无法获得精确实际科研和生产中遇到的问题绝大多数都无法获得精确的符号解,这时我们不得不求助数值计算的符号解,这时我们不得不
2、求助数值计算。3.对待符号计算态度对待符号计算态度用其来完成公式推导和解决简单的对计算时效性要求不用其来完成公式推导和解决简单的对计算时效性要求不高的问题,综合符号计算和数值计算各自的优点,视问高的问题,综合符号计算和数值计算各自的优点,视问题特点混合使用符号计算和数值计算。题特点混合使用符号计算和数值计算。2023-5-5第一节第一节 符号对象和符号表达式符号对象和符号表达式 2023-5-5一、符号对象的创建一、符号对象的创建运行下列代码,体会符号对象的创建方法和特点。运行下列代码,体会符号对象的创建方法和特点。a=sym(5);b=sym(b);syms c d e;whos从以上代码运
3、行结果可以看出,要生成一个符号对象,可以利用从以上代码运行结果可以看出,要生成一个符号对象,可以利用sym以及以及syms函数,函数,sym可以生成单个符号对象,而可以生成单个符号对象,而syms可以生可以生成多个符号对象,符号对象的运算是完全精确的,没有舍入误差。成多个符号对象,符号对象的运算是完全精确的,没有舍入误差。2023-5-5二、符号表达式二、符号表达式确定一个符号表达式中的符号变量可以用确定一个符号表达式中的符号变量可以用findsym函数:函数:创建了符号对象,我们就可以创建各种各样的符号表达式。譬如,创建了符号对象,我们就可以创建各种各样的符号表达式。譬如,创建符号变量创建符
4、号变量a,b,c后如下都是符号表达式:后如下都是符号表达式:z1=a+b+c;z2=sin(a+b+c);z3=ab*gamma(c);findsym(expr)findsym(expr,n)第一种第一种用法是确认表达式用法是确认表达式expr中所有自由符号变量,第二种用法是从表达式中所有自由符号变量,第二种用法是从表达式expr中确认出距离中确认出距离x最近的最近的n个符号变量。这个最近距离指的是变量第一个字个符号变量。这个最近距离指的是变量第一个字符和符和x的的ASCII码值之差的绝对值,差绝对值相同时,码值之差的绝对值,差绝对值相同时,ASCII码值大的字符优码值大的字符优先。先。202
5、3-5-5三、运算符三、运算符MATLAB采用了重载(采用了重载(Overload)技术,使得用来构成)技术,使得用来构成符号表达式的运算符,无论在拼写还是在使用方法上,都符号表达式的运算符,无论在拼写还是在使用方法上,都与数值计算中的算符完全相同。譬如与数值计算中的算符完全相同。譬如“+”,“-”,“*”,“”,“/”,“”等等符号对象的比较中,没有符号对象的比较中,没有“大于大于”、“大于等于大于等于”,“小小于于”,“小于等于小于等于”的概念,而只有是否的概念,而只有是否“等于等于”的概念,的概念,即即“=”与与“=”。如果要判断两个符号数值的大小一般。如果要判断两个符号数值的大小一般来
6、说有两种办法,一种是利用来说有两种办法,一种是利用double将其转化成数值型的,将其转化成数值型的,另一种是利用另一种是利用sort+“=”或或“=”,譬如下面代码:,譬如下面代码:2023-5-5三、运算符三、运算符 a=sym(2);b=sym(3);double(a)sa=sort(b,a)sa=2,3 a=sa(1)ans=1 从上述代码可以看出,上述两种方法都间接实现了判断大小。从上述代码可以看出,上述两种方法都间接实现了判断大小。2023-5-5四、符号计算与数值计算结合四、符号计算与数值计算结合利用符号计算得到结果时,有时需要将其转化成数值型的以便后续数利用符号计算得到结果时,
7、有时需要将其转化成数值型的以便后续数值计算利用。值计算利用。通过符号计算得到一个表达式时,想把它转化成关于其中某个变量的通过符号计算得到一个表达式时,想把它转化成关于其中某个变量的数值函数。数值函数。format long a=vpa(pi,30)a=3.14159265358979323846264338328 a1=double(a)a1=3.141592653589793 a2=eval(a)a2=3.1415926535897932023-5-5四、符号计算与数值计算结合四、符号计算与数值计算结合 a3=single(a)a3=3.1415927 a4=int8(a)a4=3 whos
8、 Name Size Bytes Class Attributes a 1x1 118 sym a1 1x1 8 double a2 1x1 8 double a3 1x1 4 single a4 1x1 1 int8 上述是对符号数值对象向数值对象转化的讨论,很多时候我们需要求符号表达上述是对符号数值对象向数值对象转化的讨论,很多时候我们需要求符号表达式在不同的参数值下的具体值,说通俗点就是如何把具体的参数代入符号表达式在不同的参数值下的具体值,说通俗点就是如何把具体的参数代入符号表达式。这时候可以利用式。这时候可以利用eval和和subs函数或者转化成匿名函数函数或者转化成匿名函数 202
9、3-5-5四、符号计算与数值计算结合四、符号计算与数值计算结合【例例9.1-2】已知已知,求其二阶导数在,求其二阶导数在处的处的值。值。syms xf=sin(xx/x2/exp(x);d2f=diff(f,x,2);%利用符号计算求利用符号计算求f(x)的二阶导数的二阶导数%第一种方法:利用第一种方法:利用subs函数求函数求d2f在在x=1时的值。时的值。d2fx1=subs(d2f,x,1)d2fx1=2.20822sinxxxfxx e1x 2023-5-5四、符号计算与数值计算结合四、符号计算与数值计算结合%第二种方法:第二种方法:x赋值赋值1后,利用后,利用eval函数求函数求d2
10、f在在x=1时的值时的值x=1;eval(d2f)ans=2.2082%第三种方法:将第三种方法:将d2f转化成匿名函数,求其在转化成匿名函数,求其在x=1时的值时的值F=eval(x),vectorize(char(d2f);F(1)ans=2.2082 2023-5-5第二节第二节 符号微积分符号微积分 2023-5-5一、极限、导数和级数的符号计算一、极限、导数和级数的符号计算 1.极限极限 【例例9.2-1】求下列极限:求下列极限:syms n limit(n(n+1/2)/(exp(n)*gamma(n+1),n,inf)ans=1/(2*pi)(1/2)MATLAB中中gamma函
11、数即数学上的函数即数学上的gamma函数,有如下性质:函数,有如下性质:gamma(n+1)=n!上述极限即著名的上述极限即著名的stirling公式,当公式,当n趋近无穷时:趋近无穷时:12lim!nnnne n !2nnnn en2023-5-5一、极限、导数和级数的符号计算一、极限、导数和级数的符号计算 2.求导数求导数 【例例9.2-2】,求,求 。本例目。本例目的:演示求导运算是对矩阵元素逐个进行的的:演示求导运算是对矩阵元素逐个进行的。syms a t x;f=a,t*log(x);sqrt(t),x2+3*x;dfdt=diff(f,t)%矩阵矩阵f对对t的一阶导数的一阶导数df
展开阅读全文