如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第二节Matlab符号运算1、什么是符号运算符号运算与数值运算的区别:(1)数值运算中必须先对变量赋值,然后才能参与运算;(2)符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。2、特点(1)运算对象可以是没赋值的符号变量;(2)可以获得任意精度的解析解。Matlab本身并没有符号计算功能,1993年通过购买Maple的使用权后,开始具备符号运算的功能.在MATLAB环境下实现符号计算的工具包SymbolicMathToolbox和大量的符号运算函数,符号运算的主要功能有(1)符号表达式、符号矩阵的创建;(2)符号线性代数;(3)因式分解、展开和简化;(4)符号代数方程求解;(5)符号微积分;(6)符号微分方程。§6.1Matlab符号运算的工作流程§6.1.1工作过程§6.1.2核心工具数值矩阵A=[1,2;3,4]可以,A=[a,b;c,d]不可以。MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。sym函数VSsyms语句sym函数:构造符号变量和表达式:符号量名=sym('符号字符串')(Constructsymbolicnumbers,variablesandobjects)A=sym('[a,2*b;3*a,0]')A=[a,2*b][3*a,0]这就完成了一个符号矩阵的创建。注意:符号矩阵的每一行的两端都有方括号,这是与MATLAB数值矩阵的一个重要区别。>>y=sym('2*sin(x)*cos(x)')y=2*sin(x)*cos(x)>>y=simple(y)y=sin(2*x)syms语句:构造符号对象的简捷方式(Short-cutforconstructingsymbolicobjects)函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为:syms符号变量名1符号变量名2…符号变量名n用这种格式定义符号变量时不要在变量名上加字符串分界符(‘),变量间用空格而不要用逗号分隔。例:求矩阵的行列式值、逆和特征根。symsa11a12a21a22;A=[a11,a12;a21,a22]A=[a11,a12][a21,a22]>>DA=det(A),IA=inv(A),EA=eig(A)DA=a11*a22-a12*a21IA=[a22/(a11*a22-a12*a21),-a12/(a11*a22-a12*a21)][-a21/(a11*a22-a12*a21),a11/(a11*a22-a12*a21)]EA=[1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)][1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]§6.1.3符号变量确定原则(1)除了i和j之外,字母位置最接近x的字母;若距离相等,则取ASCII码大的;(2)若没有除了i与j以外的字母,则视x为默认的符号变量;(3)可利用函数findsym(string,N)来询问在众多符号中,哪N个为符号变量.例如:键入findsym(3*a*b+y^2,1),即可得到答案y.更多的例子见下表:符号表达式默认符号变量a*x^2+b*x+cx1/(4+cos(t))t4*x/yx2*a+bb2*ix