资源描述:
《MATLAB的符号矩阵运算与符号微积分.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、西北农林科技大学实验报告学院名称:理学院专业年级:2013级信计1班姓名:学号:课程:数学软件实验报告日期:2014年11月1日实验三MATLAB的符号矩阵运算与符号微积分一.实验目的MATLAB不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包SymbolicMathToolbox。本次实验的目的对所学的符号矩阵的创建与修改、各种符号运算进行巩固,学会使用数学软件来求极限、微分、积分,解方程和解微分方程等。二.实验要求理解符号变量、符号表达式、符号矩阵等概念,掌握符号矩阵和符号表达式的创建,了解符号运算与数值运算的不同点,会修改已有
2、的符号矩阵,并会符号矩阵与数值矩阵的相互转换,掌握符号矩阵矩阵的运算。熟练掌握符号求极限、符号求微分(导数)、符号求积分(不定积分和定积分),掌握符号代数方程(组)求解、符号微分方程(组)求解,了解符号积分变换。三.实验内容符号运算一、符号变量、符号表达式、符号矩阵等概念MATLAB符号运算工具箱处理的对象主要是符号变量与符号表达式。要实现MATLAB的符号运算,首先要将处理的对象定义为符号变量或符号表达式,其定义格式如下:1.sym('变量名')或sym('表达式')2.syms变量名1变量名...变量名n二、符号运算与数值运算的不同点数值运算:求出具
3、体的数值,不含符号。(如解方程,求出未知数x=1.5,不是未知数=ab+c)符号运算:结果用符号表示。许多问题,只有数值解,没有符号解。三、修改已有的符号矩阵及符号矩阵与数值矩阵的相互转换1.修改已有的符号矩阵(1).直接修改可用、键找到所要修改的矩阵,直接修改(2)指令修改用A1=sym(A,,,'new')来修改。用A1=subs(A,'new','old')来修改2.符号矩阵与数值矩阵的相互转换(1)将数值矩阵转化为符号矩阵>>A=[1/3,2.5;1/0.7,2/5]A=0.33332.50001.42860.4000>>sym(A)an
4、s=[0.3333333333333332.50000000000000][][1.428571428571430.400000000000000](2)将符号矩阵转化为数值矩阵函数调用格式:double(a)>>a=sym('[1,3;4,6;3,4]')a=[13][][46][][34]>>double(a)ans=134634四、符号运算1.符号矩阵和符号表达式的创建(1)符号表达式的创建>>symsxyz>>x,y,zx=xy=yz=z>>f1=x^2+2*x+1f1=2x+2x+1>>f2=exp(y)+exp(z)^2f2=2exp(y)+
5、exp(z)>>f3=f1+f2f3=22x+2x+1+exp(y)+exp(z)(2)符号矩阵创建a.用sym()创建>>exam=sym('[1,x;y/x,1+1/y;3+3,4*r]')exam=[1x][][y/x1+1/y][][64r]b.普通矩阵方法>>symsa1a2a3a4>>A=[a1a2;a3a4]A=[a1a2][][a3a4]>>A(1),A(3)ans=a1ans=a2c.用矩阵元素通式创建>>symsxycr>>a=sin((c+(r-1)*3));>>b=exp(r+(c-1)*4);>>c=(c+(r-1)*3)*x+
6、(r+(c-1)*4)*y;>>A=symmat(3,3,a)A=[sin(1)sin(2)sin(3)][][sin(4)sin(5)sin(6)][][sin(7)sin(8)sin(9)]2.符号微积分(1)极限返回符号对象f当x→a时的极限>>limit(f,x,a)ans=[22][][44]返回符号对象f当x→a时的右极限>>limit(f,x,a,'right')ans=[22][][44]返回符号对象f当x→a时的左极限>>limit(f,x,a,'left')ans=[22][][44](2).导数求符号对象f关于默认变量的微分diff
7、(f)ans=22求符号对象f关于指定变量v的微分>>v=2v=2>>diff(f,v)ans=0求符号对象f关于默认变量的n次微分,n为自然数1、2、3…>>n=4n=4求符号对象f关于指定变量v的n次微分>>diff(f,n)ans=[]>>diff(f,v,n)ans=Emptyarray:2-by-2-by-1-by-0(3)积分求符号对象f关于默认变量的不定积分>>int(f)ans=[2x2x][][4x4x]求符号对象f关于指定变量v的不定积分>>f=v+3f=v+3>>int(f,v)ans=21/2v+3x求符号对象f关于默认变量的从a
8、到b的定积分>>f=v+3f=5>>a=2,b=3a=2b=3>>int(f,a