您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > matlab课后习题解答第二章doc
1第2章符号运算习题2及解答1说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?3/7+0.1;sym(3/7+0.1);sym('3/7+0.1');vpa(sym(3/7+0.1))〖目的〗不能从显示形式判断数据类型,而必须依靠class指令。〖解答〗c1=3/7+0.1c2=sym(3/7+0.1)c3=sym('3/7+0.1')c4=vpa(sym(3/7+0.1))Cs1=class(c1)Cs2=class(c2)Cs3=class(c3)Cs4=class(c4)c1=0.5286c2=37/70c3=0.52857142857142857142857142857143c4=0.52857142857142857142857142857143Cs1=doubleCs2=symCs3=symCs4=sym2在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量.sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')〖目的〗理解自由符号变量的确认规则。〖解答〗symvar(sym('sin(w*t)'),1)ans=wsymvar(sym('a*exp(-X)'),1)ans=a2symvar(sym('z*exp(j*th)'),1)ans=z3求以下两个方程的解(1)试写出求三阶方程05.443x正实根的程序。注意:只要正实根,不要出现其他根。(2)试求二阶方程022aaxx在0a时的根。〖目的〗体验变量限定假设的影响〖解答〗(1)求三阶方程05.443x正实根reset(symengine)%确保下面操作不受前面指令运作的影响symsxpositivesolve(x^3-44.5)ans=(2^(2/3)*89^(1/3))/2(2)求五阶方程022aaxx的实根symsapositive%注意:关于x的假设没有去除solve(x^2-a*x+a^2)Warning:Explicitsolutioncouldnotbefound.Insolveat83ans=[emptysym]symsxclearsymsapositivesolve(x^2-a*x+a^2)ans=a/2+(3^(1/2)*a*i)/2a/2-(3^(1/2)*a*i)/24观察一个数(在此用@记述)在以下四条不同指令作用下的异同。a=@,b=sym(@),c=sym(@,'d'),d=sym('@')在此,@分别代表具体数值7/3,pi/3,pi*3^(1/3);而异同通过vpa(abs(a-d)),vpa(abs(b-d)),vpa(abs(c-d))等来观察。〖目的〗理解准确符号数值的创建法。高精度误差的观察。〖解答〗(1)x=7/3x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'),a=32.3333b=7/3c=2.3333333333333334813630699500209d=7/3v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d))v1=0.0v2=0.0v3=0.00000000000000014802973661668756666666667788716(2)x=pi/3x=pi/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('pi/3'),a=1.0472b=pi/3c=1.047197551196597631317786181171d=pi/3v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d))v1=0.0v2=0.0v3=0.00000000000000011483642827992216762806615818554(3)x=pi*3^(1/3)x=pi*3^(1/3);a=x,b=sym(x),c=sym(x,'d'),d=sym('pi*3^(1/3)')a=4.5310b=1275352044764433/281474976710656c=4.5309606547207899041040946030989d=pi*3^(1/3)v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d))v1=0.00000000000000026601114166290944374842393221638v2=0.00000000000000026601114166290944374842393221638v3=0.000000000000000266011141662909472676799178551545求符号矩阵333231232221131211aaaaaaaaaA的行列式值和逆,所得结果应采用“子表达式置换”简洁化。〖目的〗理解subexpr指令。〖解答〗A=sym('[a11a12a13;a21a22a23;a31a32a33]')DA=det(A)IA=inv(A);[IAs,d]=subexpr(IA,d)A=[a11,a12,a13][a21,a22,a23][a31,a32,a33]DA=a11*a22*a33-a11*a23*a32-a12*a21*a33+a12*a23*a31+a13*a21*a32-a13*a22*a31IAs=[d*(a22*a33-a23*a32),-d*(a12*a33-a13*a32),d*(a12*a23-a13*a22)][-d*(a21*a33-a23*a31),d*(a11*a33-a13*a31),-d*(a11*a23-a13*a21)][d*(a21*a32-a22*a31),-d*(a11*a32-a12*a31),d*(a11*a22-a12*a21)]d=1/(a11*a22*a33-a11*a23*a32-a12*a21*a33+a12*a23*a31+a13*a21*a32-a13*a22*a31)6求0kkx的符号解,并进而用该符号解求0)31(kk,0)1(kk,03kk的准确值。〖目的〗symsum,subs的应用。从实例中,感受指令所给出的关于0kkx符号解的含义。〖解答〗symsxkf=x^(k);Z1=symsum(f,k,0,inf)Z1=piecewise([1=x,Inf],[abs(x)1,-1/(x-1)])subs(Z1,x,{sym('-1/3'),sym('1/pi'),sym('3')})ans=[3/4,-1/(1/pi-1),Inf]7对于0x,求12011122kkxxk。(提示:理论结果为xln)5〖目的〗符号变量的限定性定义的作用。〖解答〗symsk;x=sym('x','positive');f_k=2/(2*k+1)*((x-1)/(x+1))^(2*k+1);s=simple(symsum(f_k,k,0,inf))%结果与理论值lnx相符!s=piecewise([abs(x-1)x+1,log(x)])〖注意〗解答中,条件abs(x-1)x+1意味着:约束一:x-1x+120此式总成立,说明“无约束”。情况二:-(x-1)x+1x0此为“约束”,满足题意。8(1)通过符号计算求ttysin)(的导数dtdy。(2)然后根据此结果,求0tdtdy和2tdtdy。〖目的〗diff,limit指令的应用。如何理解运行结果。〖解答〗symsty=abs(sin(t))d=diff(y)%求dy/dtd0_=limit(d,t,0,'left')%求dy/dt|t=0-dpi_2=limit(d,t,pi/2)%求dy/dt|t=pi/2y=abs(sin(t))d=sign(sin(t))*cos(t)d0_=-1dpi_2=09求出dxxexsin7.110的具有64位有效数字的积分值。〖目的〗符号积分的解析解和符号数值解。符号计算和数值计算的相互校验。〖解答〗(1)符号积分symsxclearsymsxy=exp(-abs(x))*abs(sin(x))si=vpa(int(y,-10*pi,1.7*pi),64)y=abs(sin(x))/exp(abs(x))6si=1.087849499412904913166671875948174520895458535212845987519414166(2)数值计算复验xx=-10*pi:pi/100:1.7*pi;sn=trapz(exp(-abs(xx)).*abs(sin(xx)))*pi/100sn=1.087710计算二重积分211222)(xdydxyx。〖目的〗变上限二重积分的符号计算法。〖解答〗symsxyf=x^2+y^2;r=int(int(f,y,1,x^2),x,1,2)r=1006/10511在]2,0[区间,画出dtttxyx0sin)(曲线,并计算)5.4(y。〖目的〗在符号计算中,经常遇到计算结果是特殊经典函数的情况。如何应用subs获得超过16位有效数字的符号数值结果。初步尝试ezplot指令的简便。〖解答〗(1)符号计算symstx;f=sin(t)/t;y=int(f,t,0,x)%将得到一个特殊经典函数y5=subs(y,x,sym('4.5'))ezplot(y,[0,2*pi])y=sinint(x)y5=1.65414041437924398350392248685157012345600.20.40.60.811.21.41.61.8xsinint(x)(2)数值计算复验tt=0:0.001:4.5;tt(1)=eps;yn=trapz(sin(tt)./tt)*0.001yn=1.654112在0n的限制下,求xdxnyn20sin)(的一般积分表达式,并计算)31(y的32位有效数字表达。〖目的〗一般符号解与高精度符号数值解。〖解答〗symsxsymsnpositivef=sin(x)^n;yn=int(f,x,0,pi/2)y3s=vpa(subs(yn,n,sym('1/3')))y3d=vpa(subs(yn,n,1/3))yn=beta(1/2,n/2+1/2)/2y3s=1.2935547796148952674767575125656y3d=1.2935547796148951782413405453553813有序列kakx)(,kbkh)(,(在此0k,ba),求这两个序列的卷积knnkxnhky0)()()(。〖目的〗符号离散卷积直接法和变换法。〖解答〗(1)直接法symsabknx=a^k;h=b^k;w=symsum(subs(h,k,n)*subs(x,k,k-n),n,0,k)%据定义y1=simple(w)w=piecewise([a=b,b^k+b^k*k],[ab,(a*a^k-b*b^k)/(a-b)])y1=piecewise([a=b,b^k+b^k*k],[ab,(a*a^k-b*b^k)/(a-b)])(2)变换法(复验)symszX=ztrans(a^k,k,z);H=ztrans(b^k,k,z);y2=iztrans(H*X,z,k)%通过Z变换及反变换y2=piecewise([b0,(a*a^k)/(a-b)-(b*b^k)/(a-b)])〖说明〗符号计算不同途径产生的结果在形式上有可能不同,而且往往无法依靠符号计算本身的指令是它们一致。此时,必须通过手工解决。14设系统的冲激响应为teth3)(,求该系统在输入ttucos)(,0t作用下的输出。〖目的〗符号连续函数卷积的直接法和变换法。
本文标题:matlab课后习题解答第二章doc
链接地址:https://www.777doc.com/doc-4255099 .html