资源描述:
《实验三-MATLAB符号运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三MATLAB符号运算一、实验目的1.掌握定义符号函数的方法。2.掌握符号表达式的运算法则以及符号矩阵运算。3.掌握符号函数定积分和不定积分的方法。4.掌握将函数展开为泰勒级数的方法。5.掌握微分方程和代数方程符号函数求解的方法。二、预备知识1.创建符号函数1)f='sin(x)+5x'f——符号变量名sin(x)+5x——符号表达式‘‘——符号标识2)另外一种创建符号函数的方法为用syms命令symsxf=sin(x)+cos(x)3)符号表达式在MATLAB中被看成是1×1的符号矩阵。因此也
2、可用sym命令表创建。f=sym('sin(x)^2=0')2.符号矩阵与数值矩阵的转换1)将数值矩阵转化为符号矩阵函数调用格式:sym(A)例A=[1/3,2.5;1/0.7,2/5];B=sym(A)输出B=[1/3,5/2][10/7,2/52)将符号矩阵转化为数值矩阵函数调用格式:numeric(A)例B=[1/3,5/2][10/7,2/5]C=numeric(A)输出C=0.33332.50001.42860.40003.符号运算常用命令symadd(a,d)——符号矩阵的加symsub
3、(a,b)——符号矩阵的减symmul(a,b)——符号矩阵的乘symdiv(a,b)——符号矩阵的除sympow(a,b)——符号矩阵的幂运算symsize——求符号矩阵维数charploy——特征多项式determ——符号矩阵行列式的值eigensys——特征值和特征向量inverse——逆矩阵transpose——矩阵的转置4.符号微分diff(f,v)—对指定变量v求微分diff(f,v,n)—对指定变量v求n阶微分5.符号积分变换int(f)—对f表达式的缺省变量求积分int(f,v)—对
4、f表达式的v变量求积分int(f,v,a,b)—对f表达式的v变量在(a,b)区间求定积分int(‘被积表达式’,‘积分变量’,‘积分下限’,‘积分上限’)——定积分——缺省时为不定积分6.泰勒级数展开式taylor(f)taylor(f,n)taylor(f,v)taylor(f,a)f:待展开的函数表达式,可以不用单引号生成n:把函数展开到n阶,若不包含n,则缺省地展开到6阶v:对函数f中的变量v展开a:泰勒展式的扩充功能。对函数f在x=a点展开7.符号代数方程求解命令格式:solve(f)——
5、求一个方程的解solve(f1,f2,…fn)——求n个方程的解solve(f,'b')——对指定变量b求解[s1,s2,s3,…,sn]=solve(f1,f2,…fn)——求n个方程的解对n个方程中指定的n个变量求解,结果分别赋给向量[s1,…,sn]中的分量8.符号微分方程求解命令格式:dsolve(f,g)f——微分方程,可多至12个微分方程的求解;g——为初始条件,默认自变量为'x',可任意指定自变量't','u'等微分方程的各阶导数项以大写字母D表示y的一阶导数-------Dyy的二阶
6、导数-------D2yy的n阶导数-------Dny例一阶微分方程求解[x,y]=dsolve('Dx=y','Dy=x','x(0)=0','y(0)=1')ans=x(t)=sin(t),y(t)=cos(t)例二阶微分方程求解dsolve('D2y=-a^2*y','y(0)=1','Dy(pi/a)=0')ans=cos(a*x)9.符号函数的可视化绘制二维符号函数的曲线对于符号函数,MATLAB提供了一个非常简单的作图指令:ezplot()函数。通过这个命令可以在图形窗口绘制出符号函数
7、的图形。ezplot()函数有如下几种调用格式。1)命令格式ezplot(f)例f='cos(x)';ezplot(f)对于符号函数f=f(x),按照x默认的范围:-2*pi8、x,y),ezplot(f)在图形窗口中绘制符号方程f(x,y)=0的图形。x,y的范围是:-2*pi