您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > MATLAB语言及应用---第7章符号计算
第七章符号计算主要内容1、符号对象和符号表达式2、符号微积分37.1符号对象和符号表达式1、符号表达式的生成规定:(1)在定义符号运算时,首先要定义基本的符号对象,然后用这些基本符号对象去构成新的表达式,进而从事所需的符号运算。(2)在运算中,凡是包含符号对象的表达式所生成的衍生对象也都是符号对象。生成方式:指令sym、syms47.1符号对象和符号表达式f=sym(arg)f=sym(argn,flagn)argv=sym(‘argv’,flagv)syms(‘argv1’,’argv2’,’argvk’)symsargv1argv2argvk把数字、字符串或表达式arg转换成符号对象f把字符argv1argv2argvk定义为基本符号对象把数值或数值表达式argn转换成flagn格式的符号对象按flagv指定的要求把字符串’argv’定义为符号对象例题开讲例一:a1=[1/3,pi/7,sqrt(5),pi+sqrt(5)]a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)])a3=sym('[1/3,pi/7,sqrt(5),pi+sqrt(5)]')例二:symsx;y=sym('2*sin(x)*cos(x)')y=simple(y)按规则把已有的y符号表达式化为最简形式例题开讲例:求以下矩阵的行列式值、逆和特征根。22211211aaaaAsymsa11a12a21a22;A=[a11,a12;a21,a22]DA=det(A)IA=inv(A)EA=eig(A)是空格!不能用逗号77.1符号对象和符号表达式2、符号计算中的算符和基本函数说明:符号计算表达式的算符和基本函数,无论在形状、名称还是使用方法上,都与数值计算中的算符和基本函数几乎完全相同。异同:1)在关系运算符中,只有是否等于的概念。“==”和“~=”2)函数atan2仅能用于数值计算3)符号计算中没有log2,log10计算,只有自然对数的运算。4)符号计算中,没有提供求相角的指令。5)svd(奇异值分解)指令在符号运算中与数值计算不同。87.1符号对象和符号表达式3、识别对象类别的指令%(1)生成三种不同类型的矩阵,给出不同的显示形式a=1;b=2;c=3;d=4;Mn=[a,b;c,d]Mc='[a,b;c,d]'Ms=sym(Mc)%(2)三种矩阵的大小不同SizeMn=size(Mn)SizeMc=size(Mc)SizeMs=size(Ms)%(3)用class获得每种矩阵的类别CMn=class(Mn)CMc=class(Mc)CMs=class(Ms)%(4)用isa判断每种矩阵的类别isa(Mn,'double')isa(Mc,'char')isa(Ms,'sym')%(5)利用whos观察内存变量的类别和其它属性whosMnMcMs97.1符号对象和符号表达式4、符号表达式中自由变量的确定findsym(expr)findsym(expr,N)确认表达式expr中所有的自由符号变量从表达式expr中确认出靠x最近的N个独立自变量说明:如果表达式是矩阵形式,指令是对整个矩阵进行的例题开讲%(1)生成符号变量symsabxXYk=sym('3');z=sym('c*sqrt(delta)+y*sin(theta)');EXPR=a*z*X+(b*x^2+k)*Y;%(2)找出EXPR中的全部自由符号变量findsym(EXPR)%(3)在EXPR中确定一个自由符号变量findsym(EXPR,1)%(4)在EXPR中确定2个和3个自由变量findsym(EXPR,2)findsym(EXPR,3)例题开讲symsabtuvxyA=[a+b*x,sin(t)+u;x*exp(-t),log(y)+v]findsym(A,1)127.2符号微积分1、符号极限limit(F,x,a)limit(F)计算符号表达式F在xa条件下的极限值计算a=0时的极限symsxath;limit(sin(x)/x)limit((1+2*t/x)^(3*x),x,inf)137.2符号微积分2、符号积分intf=int(f,v)intf=int(f,v,a,b)给出f对指定变量v的不定积分给出f对指定变量v的定积分说明:当f是矩阵时,积分将对矩阵中的元素逐个进行。例:求dxxxbxaxsin/12symsabx;f=[a*x,b*x^2;1/x,sin(x)];int(f)%pretty(int(f))147.2符号微积分3、符号微分nndvvfd)(f=diff(f,v,n)求symsatx;f=[a,t^3;t*cos(x),log(x)];df=diff(f)%求矩阵f对x的导数dfdt2=diff(f,t,2)%求矩阵f对t的二阶导数dfdxdt=diff(diff(f,x),t)%求二阶混合导数例:xxttadxdlncos3xxttadtdlncos322xxttadxdtdlncos3215测验1)symsx;f=sin(x^2),b=diff(f);则b=________2)A=sym(‘[cos(x),sin(x);x^2+x+1tan(x)]’)B=det(A);C=diff(A(3));B=______________C=______________
本文标题:MATLAB语言及应用---第7章符号计算
链接地址:https://www.777doc.com/doc-3624198 .html