第三章-matlab符号运算课件.ppt
《第三章-matlab符号运算课件.ppt》由会员分享,可在线阅读,更多相关《第三章-matlab符号运算课件.ppt(39页珍藏版)》请在三一办公上搜索。
1、符号表达式、符号矩阵的创建 符号矩阵的运算 符号微积分 符号代数方程求解 符号微分方程 符号函数的二维图,本章要点,一、符号变量、符号表达式和符号方程的生成,与数值运算的区别:数值运算中必须先对变量赋值,然后才能参与运算。符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达,可以获得任意精度的解。参与符号运算的对象可以是符号变量、符号表达式或符号矩阵。(符号变量也要先定义,后引用),1、什么是符号运算,2、符号变量的定义,(1)sym函数 主要功能是创建符号变量、符号表达式或符号矩阵。函数调用的一般格式为:x=sym(x)其目的是将x创建为符号变量,以x作为输出变量名。,例:f=sym
2、(y);%定义f是符号变量名,值为符号x f 1=sym(sin(x)+5x);f 1 符号变量名 sin(x)+5x 符号表达式 符号标识,符号表达式一定要用 单引号括起来matlab才能识别。,的内容可以是符号表达式,也可以是符号方程。例:f1=sym(ax2+bx+c)二次三项式 f2=sym(ax2+bx+c=0)方程 f3=Dy+y2=1 微分方程符号表达式或符号方程可以赋给符号变量,以后调用方便;也可以不赋给符号变量直接参与运算。,sqrt(2)ans=1.4142 返回数值结果 a=sqrt(sym(2)符号变量 a=2(1/2)返回符号结果 double(x)求符号的值 ans
3、=1.4142 sym(2)/sym(5)+sym(1)/sym(3)符号表达式ans=11/15%结果为分数形式 2/5+1/3ans=0.7333%结果为double形式,例3-1 符号对象和普通数据对象之间的差别,例3-2 用符号运算求解方程组,a,b,x,y均为符号运算量。在符号运算前,应先将a,b,x,y定义为符号运算量。,a=sym(a);b=sym(b);%定义a,b为符号常量,内容为符号a、b。y=2/b;x=sym(x);y=sym(y”););%定义a,b为符号变量 x,y=solve(a*x-b*y-1,a*x+b*y-5,x,y)%以a,b为符号常数,x,y为符号变量即
4、可得到方程组的解:x=3/ay=2/b,例3-3 已知一复数表达式 z=x+i*y,试求其共轭复数,并求该表达式与其共轭复数乘积的多项式。命令如下:x=sym(x,real);把变量x定义为实数 y=sym(y,real);指定符号变量y为实数。z=x+i*y;%定义复数表达式 conj(z);%求共轭复数 expand(z*conj(z)%求表达式与其共轭复数乘积的多项式 ans=x2+y2 x=sym(x,unreal)去掉x的属性,将x创建 为纯格式的符号变量,不具有任何属性。,syms函数的功能与sym函数类似。syms函数可以在一个语句中同时定义多个符号变量,其一般格式为:syms
5、arg1 arg2 argN 用于将rg1,arg2,argN等符号创建为符号型数据。,例:syms x y z,(2)syms函数,一般习惯于使用排在字母表中前面的字母作为变 量的系数,而用排在后面的字母表示变量。例如:f=sym(ax2+bx+c)表达式中的a,b,c通常被认为是常数,用作变量的系数;而将x看作自变量。,(3)默认符号变量,符号表达式由符号变量、函数、算术运算符等组成。符号表达式的书写格式与数值表达式相同。例如,数学表达式:其符号表达式为:1+sqr(5*x)/2注意,在定义表达式前应先将表达式中的字符x定义为符号变量。,3、符号表达式的生成,findsym 函数:查询系统
6、默认符号变量个数及变量名。findsym 函数通常由系统自动调用,在进行符号运算时,系统调用该函数确定表达式中的符号变量,执行相应的操作。findsym(f):返回表达式f中的所有符号变量。findsym(f,n):返回表达式f中的n个变量,例:f=sym(cos(alpha)*b*x1+14*y)findsym(f)%alpha,b,x1,y findsym(f,2)%x1,y,subs 函数:将符号表达式中的符号变量用数值代替。subs(f):显示符号表达式f。subs(f,new):用new替代符号表达式f的系统默认变量。默认变量的选择规则为:对于只包含一个字符的变量,选择靠近 x 的变
7、量作为默认变量;如果有两个变量和 x 之间的距离相同,则选择字母表后面的的变量作为默认变量subs(f,old,new):用new替代符号表达式f的系统变量old。,例:syms x y f=x2*y+5*x*sqrt(y)f=x2*y+5*x*y(1/2)subs(f,x,3)ans=9*y+15*y(1/2)subs(f,y,3)ans=3*x2+5*x*3(1/2),将表达式中的自变量定义为符号变量后,赋值给符号函数名,即可生成符号函数。例如有一数学表达式:,4、符号函数的生成,其用符号表达式生成符号函数fxy的过程为:syms a b c x y%定义符号运算量 fxy=(a*x2+b
8、*y2)/c2%生成符号函数生成符号函数fxy后,即可用于微积分等符号计算。,例3-5 定义一个符号函数 fxy=(a*x2+b*y2)/c2,分别求该函数对x、y的导数和对x的积分。syms a b c x y%定义符号变量fxy=(a*x2+b*y2)/c2;%生成符号函数 diff(fxy,x)%符号函数fxy对x求导数ans=2*a*x/c2diff(fxy,y)%符号函数fxy对y求导数ans=2*b*y/c2 int(fxy,x)%符号函数fxy对x求积分ans=1/c2*(1/3*a*x3+b*y2*x),5、符号方程的生成,(1)创建抽象方程 MATLAB 中可以创建抽象方程,
9、即只有方程符号,没有具体表达式的方程。若要创建方程,并计算其一阶微分的方法如下:f=sym(f(x);syms x h;df=(subs(f,x,x+h)-f)/hdf=(f(x+h)-f(x)/h抽象方程在积分变换中有着很多的应用。,(2)创建符号方程 创建符号方程的方法有两种:利用符号表达式创建先创建符号变量,通过符号变量的运算生成符号函数直接生成符号表达式创建 M 文件利用 M 文件创建的函数,可以接受任何符号变量作为输入,作为生成函数的自变量,equation1=sym(sin(x)+cos(x)=1)equation1=sin(x)+cos(x)=1,6、符号和数值之间的转化,S=s
10、ym(A,flag):将数值转化为符号变量,其中 参数 flag 可以为 r,d,e,或者 f 中的一个。该函数将数值标量或者矩阵转化为参数形式,该函数的第二个参数用于指定浮点数转化的方法,该函数各个取值的意义如表所示:,例:t=0.1 t=0.1000 sym(t)%有理数形式 ans=1/10 sym(t,r)%有理数形式 ans=1/10 sym(t,f)%浮点数形式 ans=1.999999999999a*2(-4),7、任意精度的计算,符号计算的一个非常显著的特点是:在计算过程中不会出现舍入误差,从而可以得到任意精度的数值解。如果希望计算结果精确,可以用符号计算来获得足够高的计算精度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 matlab 符号 运算 课件
链接地址:https://www.31ppt.com/p-4093725.html