matlab教程_R2010a张志勇-课后答案.docx_第1页
matlab教程_R2010a张志勇-课后答案.docx_第2页
matlab教程_R2010a张志勇-课后答案.docx_第3页
matlab教程_R2010a张志勇-课后答案.docx_第4页
matlab教程_R2010a张志勇-课后答案.docx_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章基础准备及入门习题 1 及解答1数字 1.5e2,1.5e3 中的哪个与 1500 相同吗?解答 1.5e32请指出如下 5 个变量名中,哪些是合法的? abcd-2 xyz_3 3chan a 变量 ABCDefgh解答 2、5 是合法的。3在 MATLAB 环境中,比 1 大的最小数是多少?解答 1+eps4设 a = -8 , 运行以下三条指令,问运行结果相同吗?为什么?w1=a(2/3) w2=(a2)(1/3) w3=(a(1/3)2 解答 (1)不同。具体如下w1=a(2/3) w2=(a2)(1/3) w3=(a(1/3)2 w1 = -2.0000 + 3.4641i w2 = 4.0000 w3 = -2.0000 + 3.4641i %仅求出主根 %求出(-8)2 的主根 %求出(-8)主根后再平方(2)复数的多方根的,下面是求取全部方根的两种方法: (A)根据复数方根定义a=-8;n=2;m=3; ma=abs(a);aa=angle(a); for k=1:m %m 决定循环次数 sa(k)=(aa+2*pi*(k-1)*n/m; %计算各根的相角 end result=(ma(2/3).*exp(j*sa) %计算各根 result = -2.0000 + 3.4641i 4.0000 - 0.0000i -2.0000 - 3.4641i(B)利用多项式 r a 0 求根3 2p=1,0,0,-a2; r=roots(p) r = -2.0000 + 3.4641i -2.0000 - 3.4641i 4.00005指令 clear, clf, clc 各有什么用处?清除工作空间中所有的变量。 清除当前图形。 清除命令窗口中所有显示。解答 clear clf clc6以下两种说法对吗?(1)“MATLAB 进行数值的表达精度与其 指令窗中的数据显示精度相同。” (2) MATLAB 指令窗中显示 的数值有效位数不超过 7 位。”解答 (1)否;(2)否。7想要在 MATLAB 中产生二维数组 S 1 4 7 2 5 83 6 9 下面哪些指令能实现目的?(A) S=1,2,3;4,5,6;7,8;9 (B) S=1 2 3;4 5 6;7 8 9 (C) S=1,2,3;4,5,6;7,8,9 解答 前两种输入方法可以,后一种方法不行。%整个指令在中文状态下输入8试为例 1.3-5 编写一个解题用的 M 脚本文件?解答 直接点击新文件图标,出现 M 文件编辑器窗口;在该 M 文件编辑器中,输入例 1.3-5 中的 全部指令;并另存为 p109.m,便得到所需的脚本文件。习题 21 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号” 对象? 3/7+0.1, sym(3/7+0.1), vpa(sym(3/7+0.1) a=class(3/7+0.1)%双精度 b=class(sym(3/7+0.1)%符号 c=class(vpa(sym(3/7+0.1),4)%符号 d=class(vpa(sym(3/7+0.1)%符号 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是独立自由变量。 sym(sin(w*t) , sym(a*exp(-X) ) , sym(z*exp(j*th) a=sym(sin(w*t); symvar(a) b=sym(a*exp(-X); symvar(b) c=sym(z*exp(j*th); symvar(c) 3 求以下两个方程的解: (提示:关于符号变量的假设要注意) (1)试写出求三阶方程 x 44 . 5 0 正实根的程序。注意:只要正实根,不要出现其他根。 x=sym(x,positive); f=x3-44.5; x=solve(f,x) (2)试求二阶方程 x ax a 0 在 a 0 时的根。a=sym(a,positive); syms x; f=x2-a*x+aa; x=solve(f,x) 4 观察一个数(在此用记述)在以下四条不同指令作用下的异同: 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)等来观察。 a=7/3 b=sym(7/3) c=sym(7/3,d) d=sym(7/3) vpa(abs(a-d) vpa(abs(b-d) vpa(abs(c-d) a=pi/3 b=sym(pi/3) c=sym(pi/3,d)d=sym(pi/3) vpa(abs(a-d) vpa(abs(b-d) vpa(abs(c-d) a=pi*3(1/3) b=sym(pi*3(1/3) c=sym(pi*3(1/3),d) d=sym(pi*3(1/3) vpa(abs(a-d) vpa(abs(b-d) vpa(abs(c-d)a 11 5 求符号矩阵 A a 21 a 31 a 12 a 22 a 32 a 13 a 23 的行列式值和逆,所得结果应采用“子表达式置换” a 33 简洁化。 syms a11 a12 a13 a21 a22 a23 a31 a32 a33; A=a11,a12,a13;a21,a22,a23;a31,a32,a33; DA=det(A) IA=inv(A); IA=subexpr(IA,W) 6 求k 0 x 的符号解,并进而用该符号解求 ( k k 01 3) , (k k 01) , 3 的准确k k k 0值。(提示:注意 subs 的使用) syms x k; f=xk; s=symsum(f,k,0,inf) a=subs(s,x,-1/3) a=subs(s,x,1/pi) a=subs(s,x,3) 7 对于 x 0 ,求 k 0x 1 2k 1 x 1 22 k 1。(提示:理论结果为 ln x ;注意限定性假设)x=sym(x,positive); syms k; f=2/(2*k+1)*(x-1)/(x+1)(2*k+1); s=symsum(f,k,0,inf) 8 (1)通过符号计算求 y ( t ) sin t 的导数dy dt。 (2)然后根据此结果,求dy dtt0和dy dtt2。syms t; f=abs(sin(t); f1=diff(f) limit(f1,t,0,left) limit(f1,t,pi/2) 9 求出 1 .7 5exsin x dx 的具有 64 位有效数字的积分值。(提示:int, vpa, ezplot)syms x; f=exp(-abs(x)*abs(sin(x); digits(64) a=vpa(int(f,x,-5*pi,1.7*pi),64) ezplot(f) 10计算二重积分 2 1x2( x y ) dydx 。2 21syms x y; f=x2+y2; a=int(int(f,y,1,x2),x,1,2) 11在 0 , 2 区间,画出 y ( x ) syms x t; f=sin(t)/t; y=int(f,t,0,x) y4_5=subs(y,x,4.5) xk=0:0.01*pi:2*pi; yxk=subs(y,x,xk); plot(xk,yxk)xsin t t(提示:int, subs) dt 曲线,并计算 y ( 4 . 5 ) 。012在 n 0 的限制下,求 y ( n ) 2sinn0xdx 的一般积分表达式,并计算 y ( ) 的3132 位有效数字表达。(提示:注意限定条件;注意题目要求 32 位有效) n=sym(n,positive); syms x; f1=sin(x)n f=int(f1,x,0,pi/2) a=vpa(subs(f,n,1/3),32) 13有 序 列 x ( k ) a , h ( k ) b , ( 在 此 k 0 , a b ) , 求 这 两 个 序 列 的 卷 积k ky (k ) h(n ) x(kn0kn ) 。(提示:symsum, subs)syms k a b n; x=ak; h=bk; y=symsum(h*subs(x,k,k-n),n,0,k)14设系统的冲激响应为 h ( t ) e3t,求该系统在输入 u ( t ) cos t , t 0 作用下的输出。(提示:直接卷积法,变换法均可;) 15求 f ( t ) Aet, 0 的 Fourier 变换。(提示:注意限定)syms A t w; a=sym(a,positive); f=A*exp(-a*abs(t); fw=fourier(f,t,w)t A1 16求 f ( t ) 0 t t 的 Fourier 变换, 并画出 A 2 , 2 时的幅频谱。 (提示:注意限定;simple) syms t A w; tao=sym(tao,positive); f=A*(1+t/tao)*(heaviside(t+tao)-heaviside(t)+(1-t/tao)*(heaviside(t)-heaviside(t-tao); fw=fourier(f,t,w) fws=simple(fw) fw2=subs(fws,A,tao,2,2) ezplot(abs(fw2) 17求 F ( s ) s3 s 3s 6 s 43 2的 Laplace 反变换。syms s t; f=(s+3)/(s3+3*s2+6*s+4); f1=ilaplace(f,s,t) 18利用符号运算证明 Laplace 变换的时域求导性质:L 示:用 sym(f(t)定义函数 f (t ) ) syms t s; y=sym(f(t) df=diff(y,t) Ldy=laplace(df,t,s) 19求 f ( k ) kek Tdf ( t ) (提 s L f (t ) f (0 ) 。 dt 的 Z 变换表达式。syms k T Lambda z; f=k*exp(-Lambda*k*T); fz=ztrans(f,k,z) 20求方程 x y 1, xy 2 的解。(提示:正确使用 solve)2 2syms x y;s=solve(x2+y2=1,x*y=2,x,y) disp(s.y),disp(s.y),disp(s.x),disp(s.x) 23求微分方程yy 5 x 4 0 的通解,并绘制任意常数为 1 时,如图 p2-3 所示的解曲线图形。 (提示:通解中任意常数的替代;构造能完整反映所有解的统一表达式,然后绘 图。 )图 p2-3 微分方程的解曲线syms x y S; S = dsolve(Dy*y/5+x/4=0,x) ezplot(subs(y2-(S(1)2, C3, 1),-2,2 -2,2,2) 24求一阶微分方程 x at bt , x ( 0 ) 2 的解。2x=dsolve(Dx=a*t2+b*t,x(0)=2); x=simple(x) 25求边值问题df dx 3 f 4g, dg dx 4 f 3g , f ( 0 ) 0 , g ( 0 ) 1 的解。y=dsolve(Df=3*f+4*g,Dg=-4*f+3*g,f(0)=0,g(0)=1,x); disp(y.g=) disp(y.g) disp(y.f=) disp(y.f)习题 31要求在闭区间 0 , 2 上产生具有 10 个等距采样点的一维数组。 试用两种不同的指令实 现。(提示:冒号生成法,定点生成法) x=0:2*pi/9:2*pi y=linspace(0,2*pi,10) 2.由指令 rand(default),A=rand(3,5)生成二维数组 A,试求该数组中所有大于 0.5 的元素 的位置,分别求出它们的“全下标”和“单下标”。(提示:find 和 sub2ind) rand(twister,0) A=rand(3,5) B=(A0.5) si=find(B) r,c=find(B) 3 采用默认全局随机流,写出产生长度为 1000 的“等概率双位(即取-1,+1)取值的随机码”程序指令,并给出-1 码的数目。(提示:rand, randn, randsrc 等都可以用来产 生所需码。注意:“关系符=”、“求和指令 sum”的应用。) rand(twister,123) M=randsrc(1,1000,1,-1,1) N=sum(M=-1) 4 已知矩阵 A 1 3 2 ,运行指令 B1=A.(0.5), B2=A(0.5), 可以观察到不同运算方法 4所得结果不同。(1)请分别写出根据 B1, B2 恢复原矩阵 A 的程序。(2)用指令检验 所得的两个恢复矩阵是否相等。 (提示: 数组乘、 矩阵乘。 注意: 范数指令 norm 用途。 ) A=1,2;3,4 B1=A.(0.5) B2=A(0.5) A1=B1.2 A2=B22 5 在时间区间 0,10中,绘制 y 1 e0 .5 tcos 2 t 曲线。要求分别采取“标量循环运算法”和“数组运算法”编写两段程序绘图。(注意:体验数组运算的简捷。) t=linspace(0,10,20); for k=1:20 y(k)=1-exp(-0.5*t(k)*cos(2*t(k); end plot(t,y,:r),axis(-1,11,-1,1.5) xlabel(t),ylabel(y),title(标量循环运算法) clear t=linspace(0,10,20); y=1-exp(-0.5*t).*cos(2*t);plot(t,y,:r),axis(-1,11,-1,1.5) xlabel(t),ylabel(y),title(数组运算法) 6 先运行 clear, format long, rng(default),A=rand(3,3),然后根据 A 写出两个矩阵:一个 对角阵 B,其相应元素由 A 的对角元素构成;另一个矩阵 C,其对角元素全为 0,而其 余元素与对应的 A 阵元素相同。(提示:diag) clear format long rand(twister,1) A=rand(3,3) B=diag(diag(A) D=(A=B) C=A.*D 7 先 运 行 指 令 x=-3*pi:pi/15:3*pi;y=x;X,Y=meshgrid(x,y); warning off; Z=sin(X).*sin(Y)./X./Y;产生矩阵 Z。(1)请问矩阵 Z 中有多少个“非数”数据?(2) 用指令 surf(X,Y,Z); shading interp 观察所绘的图形。 (3) 请写出绘制相应的 “无裂缝” 图形的全部指令。(提示:isnan, sum, eps) (1)clear x=-3*pi:pi/15:3*pi;y=x;X,Y=meshgrid(x,y);warning off;Z=sin(X).*sin(Y)./X./Y M=isnan(Z) N=sum(M=1) si=find(M) (2)surf(X,Y,Z);shading interp (3)xx=x+(x=0)*eps;yy=xx; XX,YY=meshgrid(xx,yy);warning off; ZZ=sin(XX).*sin(YY)./XX./YY; surf(XX,YY,ZZ);shading interp习题 41 根据题给的模拟实际测量数据的一组 t 和 y ( t ) 试用数值差分 diff 或数值梯度 gradient 指令计算 y (t ) , 然后把 y ( t ) 和 y (t ) 曲线绘制在同一张图上, 观察数值求导的后果。 (模 拟数据从 prob_data401.mat 获得)(提示:自变量 t 采样间距太小。) load prob_401; N=20; diff_y1=(diff(y(1:N:end)./diff(t(1:N:end); gradient_y1=(gradient(y(1:N:end)./gradient(t(1:N:end); t1=t(1:N:end); length(t1) plot(t,y,t1(1:end-1),diff_y1) plot(t,y,t1,gradient_y1) 2 采用数值计算方法,画出 y ( x ) xsin t tdt 在 0 , 10 区间曲线,并计算 y ( 4 . 5 ) 。0(提示:cumtrapz 快捷,在精度要求不高处可用;quad 也可试。巧用 find。) d=0.5; tt=0:d:10; t=tt+(tt=0)*eps; y=sin(t)./t; s=d*trapz(y) ss=d*(cumtrapz(y) plot(t,y,t,ss,r),hold on y4_5=ss(find(t=4.5) yi=interp1(t,ss,4.5),plot(4.5,yi,r+) 3 求函数 f ( x ) esin3x的数值积分 s 0f ( x ) dx , 并请采用符号计算尝试复算。 (提示:各种数值法均可试。) d=pi/20; x=0:d:pi; fx=exp(sin(x).3); s=d*trapz(fx) s1=quad(exp(sin(x).3),0,pi) s2=quadl(exp(sin(x).3),0,pi) s3=vpa(int(exp(sin(x)3),0,pi) s4=vpa(int(sym(exp(sin(x)3),0,pi) 4 用 quad 求取 1 .7 5exsin x dx 的数值积分,并保证积分的绝对精度为 109。(体验:试用 trapz,如何算得同样精度的积分。) s1=quad(exp(-abs(x).*abs(sin(x),-5*pi,1.7*pi,1e-10) s2=quadl(exp(-abs(x).*abs(sin(x),-5*pi,1.7*pi) syms x; s3=vpa(int(exp(-abs(x)*abs(sin(x),-5*pi,1.7*pi) d=pi/1000; x=-5*pi:d:1.7*pi; fx=exp(-abs(x).*abs(sin(x); s=d*trapz(fx)2 0 . 06 t 1 . 5 t cos 2 t 1 . 8 t 0 . 5 在区间 5 , 5 中的最小值点。 5 求函数 f ( t ) (sin 5 t ) e2(提示:作图观察。) x1=-5; x2=5; yx=inline(sin(5*t).2.*exp(0.06*t.2)-1.5.*t.*cos(2*t)+1.8.*abs(t+0.5)1xn0,fval=fminbnd(yx,x1,x2) t=x1:0.1:x2; plot(t,yx(t),hold on ,plot(xn0,fval,r*) 6 设d y (t ) dt2 23dy ( t ) dt2 y ( t ) 1, y ( 0 ) 1 ,dy ( 0 ) dt0 ,用数值法和符号法求 y ( t )t 0 .5。(提示:注意 ode45 和 dsolve 的用法。) tspan=0,0.5; y0=1;0; tt,yy=ode45(DyDt_6,tspan,y0); y0_5=yy(end,1) S = dsolve(D2y-3*Dy+2*y = 1,y(0) = 1,Dy(0) = 0) ys0_5=subs(S,0.5) functionydot=DyDt_6(t,y) mu=3; ydot=y(2);mu*y(2)-2*y(1)+1; 7 已知矩阵 A=magic(8),(1)求该矩阵的“值空间基阵”B ;(2)写出“A 的任何列 可用基向量线性表出”的验证程序。(提示:方法很多;建议使用 rref 体验。) A=magic(8) B=orth(A) rref(A) rref(B) 8 已知由 MATLAB 指令创建的矩阵 A=gallery(5),试对该矩阵进行特征值分解,并通过 验算观察发生的现象。(提示:condeig) A=gallery(5) V,D,s=condeig(A) V,D=eig(A) cond(A) jordan(A) 9 求矩阵 Ax b 的解, 为 3 阶魔方阵, 是 ( 3 1 ) 的全 1 列向量。 A b (提示: rref, inv, 用 / 体验。) A=magic(3) b=ones(3,1) x=Ab x=inv(A)*b rref(A,b) 10求矩阵 Ax b 的解, 为 4 阶魔方阵, 是 ( 4 1 ) 的全 1 列向量。 A b (提示: rref, inv, 用 / 体验。) A=magic(4) b=ones(4,1) x=Ab xg=null(A)1 2 11求矩阵 Ax b 的解,A 为 4 阶魔方阵, b 。(提示:用 rref, inv, / 体验。) 3 4A=magic(4) b=(1:4) rref(A,b) x=Ab A*x x=inv(A)*b212求 0 . 5 t 10 e0 .2 tsinsin t 0 的实数解。(提示:发挥作图法功用)y_C=inline(-0.5+t-10.*exp(-0.2.*t).*abs(sin(sin(t),t); t=-10:0.01:10; Y=y_C(t); plot(t,Y,r),hold on plot(t,zeros(size(t),k); xlabel(t);ylabel(y(t) zoom on tt,yy=ginput(1),zoom off t1,y1=fzero(y_C,tt) t2,y2=fsolve(y_C,tt) 13求解二元函数方程组 sin( x y ) 0 cos( x y ) 0的解。(提示:可尝试符号法解;试用 contour作图求解;比较之。此题有无数解。) S=solve(sin(x-y)=0,cos(x+y)=0,x,y) S.x, S.y 14假定某窑工艺瓷器的烧制成品合格率为 0.157,现该窑烧制 100 件瓷器,请画出合格产 品数的概率分布曲线。(提示:二项式分布概率指令 binopdf;stem) y = binopdf(0:100,100,0.157); stem(1:length(y),y) axis(0 length(y) 0 .12 ) 15试产生均值为 4, 标准差为 2 的 (10000 1) 的正态分布随机数组 a , 分别用 hist 和 histfit 绘制该数组的频数直方图,观察两张图形的差异。除 histfit 上的拟合红线外,你能使这 两个指令绘出相同的频数直方图吗?(提示:为保证结果的重现性,在随机数组 a 产生 前, 先运行 rng default 指令; 可使用指令 normrnd 产生正态分布随机数; 理解 hist(Y, m) 指令格式。) a=normrnd(4,2,10000,1); hist(a) histfit(a) hist(a,sqrt(10000) 16从数据文件 prob_data416.mat 得到随机数组 R,下面有一段求取随机数组全部数据最 大值、均值和标准差的程序。 Mx=max(max(R),Me=mean(mean(R),St=std(std(R), 试问该程序所得的结果都正确吗?假如不正确,请写出正确的程序。(提示:load; R(:)。) load prob_416; Mx=max(max(R) Me=mean(mean(R) St=std(R(:) 17已 知 有 理 分 式 R ( x ) 2 3 2N (x) D(x), 其 中 N ( x ) ( 3 x x )( x 0 . 5 )3 3,D ( x ) ( x 2 x 2 )( 5 x 2 x 1) 。 1) ( 求该分式的商多项式 Q ( x ) 和余多项式 r ( x ) 。(2)用程序验算 D ( x ) Q ( x ) r ( x ) N ( x ) 是否成立。(提示:采用范数指令 norm 验 算。) format rat NX=conv(3,0,1,0,1,0,0,0.5), DX=conv(1,2,-2,5,2,0,1) q,r=deconv(NX,DX) cq=商多项式为 ;cr=余多项式为 ; disp(cq,poly2str(q,s),disp(cr,poly2str(r,s) qp2=conv(q,DX), pp1=qp2+r, pp1=NX 18现有一组实验数据 x, y(数据从 prob_data418.mat 获得),试求这组数据的 5 阶拟合 多项式。(提示:load, polyfit, polyval)3load prob_418, who,x P=polyfit(x,y,5), Pt=poly2str(P,t) xx=-1:0.01:4, yy=polyval(P,xx), plot(xx,yy,x,y,*r) legend(拟合曲线,原始曲线,Location,SouthEast) 19已知系统冲激响应为 h(n)=0.05,0.24,0.40,0.24,0.15,-0.1,0.1 ,系统输入 u(n)由指令 rngdefault;u=2*(randn(1,100)0.5)-1 产生,该输入信号的起始作用时刻为 0。试画出类 似图 p4-1 所示的系统输入、输出信号图形。(提示:注意输入信号尾部的处理;NaN 的使用。)Input u 1 0.5 0 -0.5 -10102030405060708090100Output y 1 0.5 0 -0.5 -10102030405060708090100图 p4-1 h=0.05,0.24,0.40,0.24,0.15,-0.1,0.1 randn(state,1); u=2*(randn(1,100)0.5)-1; y=conv(u,h); subplot(2,1,1),stem(u,filled) axis(0 length(y) -1 1 ) subplot(2,1,2),stem(y,filled) axis(0 length(y) -1 1 )4习题 610000001.请分别写出用 for 和 while 循环语句计算 K 0 .2i0i1 0 .2 0 .2 0 .221000000的程序。此外,还请写出避免循环的数值、符号计算程序。(提示:sum 和“指数采 用数组”配合; tic, toc 可用以记录计算所花的时间。) %for 语句计算 tic a=0; for j=0:1000000; a=a+0.2j; end a t1=toc %while 语句计算 tic b=0; j=0; while j=1000000 b=b+0.2j; j=j+1; end b t2=toc %数值计算 tic d=zeros(1,1000000); k=0:10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论