您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > matlab课后习题解答第二章
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=z5求符号矩阵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)8(1)通过符号计算求ttysin)(的导数dtdy。(2)然后根据此结果,求0tdtdy和2tdtdy。〖目的〗diff,limit指令的应用。如何理解运行结果。〖解答〗symsty=abs(sin(t))3d=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))si=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。〖目的〗在符号计算中,经常遇到计算结果是特殊经典函数的情况。4如何应用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.6541404143792439835039224868515012345600.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位有效数字表达。〖目的〗一般符号解与高精度符号数值解。〖解答〗symsxsymsnpositive5f=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.293554779614895178241340545355313有序列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)])〖说明〗符号计算不同途径产生的结果在形式上有可能不同,而且往往无法依靠符号计算本身的指令是它们一致。此时,必须通过手工解决。15求0,)(tAetf的Fourier变换。〖目的〗符号变量限定性定义的作用。fourier指令的应用。〖解答〗symsAtwa=sym('a','positive');f=A*exp(-a*abs(t));y=fourier(f,t,w)F=simple(y)y=(2*A*a)/(a^2+w^2)6F=(2*A*a)/(a^2+w^2)17求4633)(23sssssF的Laplace反变换。〖解答〗symsstF=(s+3)/(s^3+3*s^2+6*s+4);f=simple(ilaplace(F,s,t))f=(3^(1/2)*sin(3^(1/2)*t)-2*cos(3^(1/2)*t)+2)/(3*exp(t))19求Tkkekf)(的Z变换表达式。〖目的〗注意:变换中,被变换变量的约定。〖解答〗symslambdakTz;f_k=k*exp(-lambda*k*T);F_z=simple(ztrans(f_k,k,z))F_z=(z*exp(T*lambda))/(z*exp(T*lambda)-1)^220求方程2,122xyyx的解。〖目的〗solve指令中,被解方程的正确书写,输出量的正确次序。〖解答〗eq1='x^2+y^2=1';eq2='x*y=2';[x,y]=solve(eq1,eq2,'x','y')x=(1/2+(15^(1/2)*i)/2)^(1/2)/2-(1/2+(15^(1/2)*i)/2)^(3/2)/2-(1/2+(15^(1/2)*i)/2)^(1/2)/2+(1/2+(15^(1/2)*i)/2)^(3/2)/2(1/2-(15^(1/2)*i)/2)^(1/2)/2-(1/2-(15^(1/2)*i)/2)^(3/2)/2-(1/2-(15^(1/2)*i)/2)^(1/2)/2+(1/2-(15^(1/2)*i)/2)^(3/2)/2y=(1/2+(15^(1/2)*i)/2)^(1/2)-(1/2+(15^(1/2)*i)/2)^(1/2)(1/2-(15^(1/2)*i)/2)^(1/2)-(1/2-(15^(1/2)*i)/2)^(1/2)23求微分方程045xyy的通解,并绘制任意常数为1时解的图形。〖目的〗理解指令dsolve的正确使用。7对dsolve输出结果的正确理解。ezplot指令绘图时,如何进行线色控制。如何覆盖那些不能反映图形窗内容的图名。〖解答〗(1)求通解reset(symengine)clearsymsyxy=dsolve('0.2*y*Dy+0.25*x=0','x')y=2^(1/2)*(C3-(5*x^2)/8)^(1/2)-2^(1/2)*(C3-(5*x^2)/8)^(1/2)(2)根据所得通解中不定常数的符号写出“对其进行数值替代的指令”yy=subs(y,'C3',1)%将通解中的C3用1代替yy=2^(1/2)*(1-(5*x^2)/8)^(1/2)-2^(1/2)*(1-(5*x^2)/8)^(1/2)(3)观察通解中两个分解的平方是否相同yy(1)^2==yy(2)^2ans=1(4)于是可考虑函数的平方关系symsYfxy=Y^2-yy(1)^2fxy=Y^2+(5*x^2)/4-2(5)根据平方关系式画完整曲线clfezplot(fxy,[-2,2,-2,2])axissquaregridon8YxY2+(5x2)/4-2=0-2-1.5-1-0.500.511.52-2-1.5-1-0.500.511.52(6)假如直接用“分解”画曲线,那么将是不完整的ezplot(yy(1)),holdoncc=get(gca,'Children');set(cc,'Color','r')ezplot(yy(2)),axis([-22-22])legend('y(1)','y(2)'),holdoff;title('')%覆盖不完全的图名gridaxissquare9-2-1.5-1-0.500.511.52-2-1.5-1-0.500.511.52xy(1)y(2)24求一阶微分方程2)0(,2xbtatx的解。〖目的〗初值微分方程的符号解。pretty指令的使用。〖解答〗x=dsolve('Dx=a*t^2+b*t','x(0)=2','t')pretty(x)%比较易读的表达形式x=(t^2*(3*b+2*a*t))/6+22t(3b+2at)----------------+2625求边值问题1)0(,0)0(,34,43gfgfdxdggfdxdf的解。(注意:相应的数值解法比较复杂)。〖目的〗边值微分方程的符号解。〖解答〗[f,g]=dsolve('Df=3*f+4*g','Dg=-4*f+3*g','f(0)=0,g(0)=1')f=
本文标题:matlab课后习题解答第二章
链接地址:https://www.777doc.com/doc-2882299 .html