欢迎来到天天文库
浏览记录
ID:52837009
大小:471.94 KB
页数:58页
时间:2020-03-22
《刘卫国全套配套课件MATLAB程序设计与应用第3版第9章 MATLAB符号计算.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章MATLAB符号计算9.1符号计算基础9.2符号微积分9.3级数9.4符号方程求解第9章MATLAB符号计算9.1符号计算基础9.1.1建立符号对象1.建立符号变量和符号常量MATLAB提供了建立符号对象的函数sym和命令syms,它们的用法不同。(1)sym函数sym函数用来建立单个符号对象,其调用格式为:符号对象名=sym(符号字符串)该函数可以建立一个符号对象,符号字符串可以是常量、变量、函数或表达式。例如:a=sym('a')将建立符号变量a,此后,用户可以在表达式中使用变量a进行各种运算。第9章MATLAB符号计算下面的命令说明了符号变量和数值变量的差别。>>clea
2、r%清除全部内存变量>>x=sym('a')%定义符号变量x,它代表“a”x=a>>y=10%定义数值变量y=10>>x+yans=a+10>>whosNameSizeBytesClassAttributesans1x1112symx1x1112symy1x18double第9章MATLAB符号计算使用sym函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同。通过下面的命令可以看出符号常量与数值常量在代数运算时的差别。>>pi1=sym('pi');k1=sym('8');k2=sym('3');%定义符号变量>>pi2=pi;r1=8;r2=3;%定义数值变
3、量>>sin(pi1/3)%符号计算ans=3^(1/2)/2>>sin(pi2/3)%数值计算ans=0.8660>>sqrt(k1+sqrt(k2))%符号计算ans=(3^(1/2)+8)^(1/2)>>sqrt(r1+sqrt(r2))%数值计算ans=3.1196第9章MATLAB符号计算(2)syms命令sym函数一次只能定义一个符号变量,使用不方便。MATLAB提供了syms命令,一次可以定义多个符号变量,其格式为:syms符号变量名1符号变量名2…符号变量名n用这种格式定义符号变量时不要在变量名上加单引号,变量间用空格而不要用逗号分隔。例如,用syms命令定义4个符号
4、变量a、b、c、d,命令如下:>>symsabcd第9章MATLAB符号计算2.建立符号表达式含有符号对象的表达式称为符号表达式。建立符号表达式有以下3种方法:(1)利用单引号来生成符号表达式例如:>>y='1/sqrt(2*x)'y=1/sqrt(2*x)>>f='cos(x^2)-sin(2*x)=0'f=cos(x^2)-sin(2*x)=0第一条命令生成的是一般的符号表达式,第二条命令生成的是符号方程。实际上,用单引号生成的是字符串,但可以参与符号运算。第9章MATLAB符号计算(2)用sym函数建立符号表达式例如:>>U=sym('3*x^2-5*y+2*x*y+6')U=
5、3*x^2+2*y*x-5*y+6>>M=sym('[a,b;c,d]')M=[a,b][c,d]第一条命令建立符号表达式3x2-5y+2xy+6,此时不需定义变量x、y。第二条命令生成一个符号矩阵。第9章MATLAB符号计算(3)使用已经定义的符号变量组成符号表达式例如:>>symsxy;>>V=3*x^2-5*y+2*x*y+6V=3*x^2+2*y*x-5*y+6第9章MATLAB符号计算9.1.2基本的符号运算1.符号对象的四则运算符号表达式的四则运算与数值运算一样,用+、-、*、/、^运算符实现,其运算结果依然是一个符号表达式。例如:>>symsxyz;>>f=2*x^2+
6、3*x-5;>>g=x^2-x+7;>>f+gans=3*x^2+2*x+2>>f=(x*x-y*y)/(x-y)f=(x^2-y^2)/(x-y)第9章MATLAB符号计算2.符号对象的关系运算MATLAB提供的6种关系运算符<、<=、>、>=、==、~=和对应的函数lt、le、gt、ge、eq、ne也可用于符号对象。若参与运算的是符号表达式,其结果是一个符号关系表达式;若参与运算的是符号矩阵,其结果是由符号关系表达式组成的矩阵。例如:>>symsxyabcd;>>A=[x,10*x;y,10*y];>>B=[a,b;c,d];>>A==Bans=[x==a,10*x==b][y=
7、=c,10*y==d]第9章MATLAB符号计算在进行符号对象的运算前,可用assume函数对符号对象设置值域,函数调用格式为:assume(condition)assume(expr,set)第一种格式指定变量满足条件condition,第二种格式指定表达式expr属于集合set。例如:>>symsx>>assume(x<0)>>abs(x)==xans=-x==x>>assume((x-1)/2,'integer')第9章MATLAB符号计算MATLA
此文档下载收益归作者所有