1实验二符号计算一、实验目的解算数学表达式、方程获得解析结果。运用MATLAB的符号计算能力去解决一些具体问题。这种计算建立在数值完全准确表达和推演严格解析的基础之上,因此所得结果是完全准确的。二、实验基本知识符号对象的创建、双精度数字与符号数字的转换、符号表达式的基本操作、求极限和导数、级数和序列求和、符号积分、解微分方程、傅立叶变换和拉普拉斯变换、解线性方程组、符号计算结果的可视化。三、实验内容【1】符号(类)数字与数值(类)数字之间的差异。a=pi+sqrt(5)sa=sym('pi+sqrt(5)')Ca=class(a)Csa=class(sa)vpa(sa-a)a=5.3777sa=pi+sqrt(5)Ca=doubleCsa=symans=.138223758410852e-16【2】用符号计算研究方程02wvzuz的解。【3】对独立自由符号变量的自动辨认。(1)symsabxXYk=sym('3');z=sym('c*sqrt(delta)+y*sin(theta)');EXPR=a*z*X+(b*x^2+k)*Y;(2)findsym(EXPR)ans=X,Y,a,b,c,delta,theta,x,y(3)findsym(EXPR,1)ans=x(4)2findsym(EXPR,2),findsym(EXPR,3)ans=x,yans=x,y,theta〖注意〗findsym为低版本指令!【4】findsym确定自由变量是对整个矩阵进行的。symsabtuvxyA=[a+b*x,sin(t)+u;x*exp(-t),log(y)+v]findsym(A,1)A=[a+b*x,sin(t)+u][x*exp(-t),log(y)+v]ans=x【5】数据对象及其识别指令的使用。(1)cleara=1;b=2;c=3;d=4;Mn=[a,b;c,d]Mc='[a,b;c,d]'Ms=sym(Mc)Mn=1234Mc=[a,b;c,d]Ms=[a,b][c,d](2)SizeMn=size(Mn)SizeMc=size(Mc)SizeMs=size(Ms)SizeMn=22SizeMc=19SizeMs=22(3)CMn=class(Mn)CMc=class(Mc)CMs=class(Ms)CMn=doubleCMc=charCMs=sym(4)isa(Mn,'double')isa(Mc,'char')isa(Ms,'sym')ans=31ans=1ans=1(5)whosMnMcMsNameSizeBytesClassMc1x918chararrayMn2x232doublearrayMs2x2312symobjectGrandtotalis21elementsusing362bytes〖注意〗字符串是怎样定义的?【6】digits,vpa指令的使用。digitsp0=sym('(1+sqrt(5))/2')pr=sym((1+sqrt(5))/2)%pd=sym((1+sqrt(5))/2,'d')%e32r=vpa(abs(p0-pr))e16=vpa(abs(p0-pd),16)e32d=vpa(abs(p0-pd))Digits=32p0=(1+sqrt(5))/2pr=7286977268806824*2^(-52)pd=1.6180339887498949025257388711907e32r=.543211520368251e-16e16=0.e32d=.543211520368251e-16【7】简化32381261xxxf。【8】用简单算例演示subs的置换规则。(1)symsax;f=a*sin(x)+5f=a*sin(x)+5(2)f1=subs(f,'sin(x)',sym('y'))%2class(f1)f1=a*y+5ans=4sym(3)f2=subs(f,{a,x},{2,sym('pi/3')})%3class(f2)f2=3^(1/2)+5ans=sym(4)f3=subs(f,{a,x},{2,pi/3})%4class(f3)f3=6.7321ans=double(5)f4=subs(subs(f,a,2),x,0:pi/6:pi)%5class(f4)f4=5.00006.00006.73217.00006.73216.00005.0000ans=double(6)f5=subs(f,{a,x},{0:6,0:pi/6:pi})%6class(f5)f5=5.00005.50006.73218.00008.46417.50005.0000ans=double〖注意〗花括号里面两个变量不能同时置换时考虑分步进行!【9】试求kxxx11lim。【10】求xxttaflncos3求dxdf,22dtfd,dtdxfd2。【11】xxfsin)(,求)0(xf,)(xfx。【12】求102])13(,52[ttkt。〖注意〗不能将方括号里面两项分开求和。5【13】求dxxxx11。【14】求dxxxbxaxsin12。【15】求积分2122222)(xxyxxydzdydxzyx。〖注意〗应当使用vpa给出具体数据!【16】求dxdtydydtx,的解。【17】图示微分方程2)(21yyxy)(的通解和奇解的关系。〖注意〗程序中的参数应与解答中的一致!低版本不可用symvar指令!【18】求0001)(tttf的Fourier变换。【19】根据Fourier变换定义,用积分指令求方波脉冲elsetAy2/2/0的Fourier变换。【20】求xtxtetfxt0)()(的Fourier变换,在此x是参数,t是时间变量。【21】求tatetbtebtuat2sin)()(的Laplace变换。【22】验证Laplace时移性质:0)}({)}()({0000ttfLettUttfLst。【23】用两种解法求3322,32,22,223dnpqpndqpqdnqpnd线性方程组的解。〖注意〗必须排序!【24】求方程组uyvzw^20,yzw0关于zy,的解。6【25】solve指令求qpnd22,10pqdn,pndq4构成的“欠定”方程组解。【26】求2)2(xx的解。【27】绘制yett23322cos和它的积分tdttyts0)()(在]4,0[间的图形。symsttaoy=2/3*exp(-t/2)*cos(sqrt(3)/2*t);s=subs(int(y,t,0,tao),tao,t);subplot(2,1,1)%ezplot(y,[0,4*pi]),ylim([-0.2,0.7])gridonsubplot(2,1,2)ezplot(s,[0,4*pi])gridontitle('s=\inty(t)dt')024681012-0.200.20.40.6t2/3exp(-1/2t)cos(1/231/2t)0246810120.20.30.40.5ts=y(t)dt四、课后作业(任选三题即可,需另建文档完成。)1.说出以下三条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”对象?3/7+0.1,sym(3/7+0.1),vpa(sym(3/7+0.1))72.求符号矩阵333231232221131211aaaaaaaaaA的行列式值和逆,所得结果应采用“子表达式置换”简洁化。3.求102])63(,2[ttkct.4.对于0x,求12011122kkxxk。(提示:理论结果为xln)5.(1)通过符号计算求ttysin)(的导数dtdy。(2)然后根据此结果,求0tdtdy和2tdtdy。6.计算二重积分211222)(xdydxyx。7.在]2,0[区间,画出dtttxyx0sin)(曲线,并计算和标示)5.4(y。8.请图示微分方程2)()6(yyxy的通解和奇解的关系。9.求0,)(tAetf的Fourier变换。10.求tttAtf01)(的Fourier变换,并画出2,2A时的幅频谱。11.求4633)(23sssssF的Laplace反变换。12.利用符号运算证明Laplace变换的时域求导性质:)0()()(ftfLsdttdfL。13.求方程2,122xyyx的解。