matlab7.0x练习题+答案

合集下载

MATLAB编程练习(含答案很好的)

MATLAB编程练习(含答案很好的)

001双峰曲线图:z=peaks(40);mesh(z);surf(z)002解方程:A=[3,4,-2;6,2,-3;45,5,4];>> B=[14;4;23];>> root=inv(A)*B003傅里叶变换load mtlb ;subplot(2,1,1);plot(mtlb);>> title('原始语音信息');>> y=fft(mtlb);>> subplot(2,1,2);>> yy=abs(y);>> plot(yy);>> title('傅里叶变换')004输入函数:a=input('How many apples\n','s')005输出函数a=[1 2 3 4 ;5 6 7 8;12 23 34 45;34 435 23 34]a =1 2 3 45 6 7 812 23 34 4534 435 23 34disp(a)a =1 2 3 45 6 7 812 23 34 4534 435 23 34b=input('how many people\n' ,'s')how many peopletwo peopleb =two people>> disp(b)two people>>006求一元二次方程的根a=1;b=2;c=3;d=sqrt(b^2-4*a*c);x1=(-b+d)/(2*a)x1 =-1.0000 + 1.4142i>> x2=(-b-d)/(2*a)x2 =-1.0000 - 1.4142i007求矩阵的相乘、转置、存盘、读入数据A=[1 3 5 ;2 4 6;-1 0 -2;-3 0 0];>> B=[-1 3;-2 2;2 1];>> C=A*BC =3 142 20-3 -53 -9>> C=C'C =3 2 -3 314 20 -5 -9>> save mydat C>> clear>> load mydat C008编写数学计算公式:A=2.1;B=-4.5;C=6;D=3.5;E=-5;K=atan(((2*pi*A)+E/(2*pi*B*C))/D) K =1.3121009A=[1 0 -1;2 4 1;-2 0 5];>> B=[0 -1 0;2 1 3;1 1 2];>> H=2*A+BH =2 -1 -26 9 5-3 1 12>> M=A^2-3*BM =3 3 -62 13 -2-15 -3 21>> Y=A*BY =-1 -2 -29 3 145 7 10>> R=B*AR =-2 -4 -1-2 4 14-1 4 10>> E=A.*BE =0 0 04 4 3-2 0 10>> W=A\BW =0.3333 -1.3333 0.66670.2500 1.0000 0.25000.3333 -0.3333 0.6667 >> P=A/BP =-2.0000 3.0000 -5.0000-5.0000 3.0000 -4.00007.0000 -9.0000 16.0000>> Z=A.\BWarning: Divide by zero.Z =0 -Inf 01.0000 0.2500 3.0000-0.5000 Inf 0.4000>> D=A./BWarning: Divide by zero.D =Inf 0 -Inf1.0000 4.0000 0.3333-2.0000 0 2.5000010a=4.96;b=8.11;>> M=exp(a+b)/log10(a+b)M =4.2507e+005011求三角形面积:a=9.6;b=13.7;c=19.4;>> s=(a+b+c)/2;>> area=sqrt(s*(s-a)*(s-b)*(s-c))area =61.1739012逻辑运算A=[-1 0 -6 8;-9 4 0 12.3;0 0 -5.1 -2;0 -23 0 -7]; >> B=A(:,1:2)B =-1 0-9 40 00 -23>> C=A(1:2,:)C =-1.0000 0 -6.0000 8.0000 -9.0000 4.0000 0 12.3000>> D=B'D =-1 -9 0 00 4 0 -23>> A*Bans =1.0000 -184.0000-27.0000 -266.90000 46.0000 207.0000 69.0000>> C<Dans =0 0 1 01 0 0 0>> C&Dans =1 0 0 00 1 0 1>> C|Dans =1 1 1 11 1 0 1>> ~C|~Dans =0 1 1 11 0 1 0013矩阵运算练习:A=[8 9 5;36 -7 11;21 -8 5]A =8 9 536 -7 1121 -8 5>> BB =-1 3 -22 0 3-3 1 9>> RT=A*BRT =-5 29 56-83 119 6-52 68 -21>> QW=A.*BQW =-8 27 -1072 0 33-63 -8 45>> ER=A^3ER =6272 3342 294415714 -856 52608142 -1906 2390 >> BF=A.^3BF =512 729 12546656 -343 13319261 -512 125 >> A/Bans =3.13414.9634 -0.4024-1.2561 12.5244 -3.2317-1.9878 6.4512 -2.0366>> EKV=B\AEKV =10.7195 -1.2683 3.52449.4756 1.5854 3.71954.8537 -1.4878 1.3171>> KDK=[A,B]KDK =8 9 5 -1 3 -236 -7 11 2 0 321 -8 5 -3 1 9 >> ERI=[A;B]ERI =8 9 536 -7 1121 -8 5-1 3 -22 0 3-3 1 9014一般函数的调用:A=[2 34 88 390 848 939];>> S=sum(A)S =2301>> min(A)ans =2>> EE=mean(A)EE =383.5000>> QQ=std(A)QQ =419.3794>> AO=sort(A)AO =2 34 88 390 848 939 >> yr=norm(A)yr =1.3273e+003>> RT=prod(A)RT =1.8583e+012>> gradient(A)ans =32.0000 43.0000 178.0000 380.0000 274.5000 91.0000 >> max(A)ans =939>> median(A)ans =239>> diff(A)ans =32 54 302 458 91>> length(A)ans =6>> sum(A)ans =2301>> cov(A)ans =1.7588e+005>>015矩阵变换:A=[34 44 23;8 34 23;34 55 2]A =34 44 238 34 2334 55 2>> tril(A)ans =34 0 08 34 034 55 2>> triu(A)ans =34 44 230 34 230 0 2>> diag(A)ans =34342norm(A)ans =94.5106>> rank(A)ans =3>> det(A)ans =-23462>> trace(A)ans =70>> null(A)ans =Empty matrix: 3-by-0>> eig(A)ans =80.158712.7671-22.9257>> poly(A)ans =1.0e+004 *0.0001 -0.0070 -0.1107 2.3462>> logm(A)Warning: Principal matrix logarithm is not defined for A with nonpositive real eigenvalues. A non-principal matrixlogarithm is returned.> In funm at 153In logm at 27ans =3.1909 + 0.1314i 1.2707 + 0.1437i 0.5011 - 0.2538i0.4648 + 0.4974i 3.3955 + 0.5438i 0.1504 - 0.9608i0.2935 - 1.2769i 0.8069 - 1.3960i 3.4768 + 2.4663i>> fumn(A)Undefined command/function 'fumn'.>> inv(A)ans =0.0510 -0.0502 -0.0098-0.0326 0.0304 0.02550.0305 0.0159 -0.0343>> cond(A)ans =8.5072>> chol(A)Error using ==> cholMatrix must be positive definite.>> lu(A)ans =34.0000 44.0000 23.00000.2353 23.6471 17.58821.0000 0.4652 -29.1816>> pinv(A)ans =0.0510 -0.0502 -0.0098-0.0326 0.0304 0.02550.0305 0.0159 -0.0343>> svd(A)ans =94.510622.345611.1095>> expm(A)ans =1.0e+034 *2.1897 4.3968 1.93821.31542.6412 1.16431.8782 3.7712 1.6625>> sqrtm(A)ans =5.2379 + 0.2003i 3.4795 + 0.2190i 1.8946 - 0.3869i0.5241 + 0.7581i 5.1429 + 0.8288i 2.0575 - 1.4644i3.0084 - 1.9461i4.7123 - 2.1276i 2.1454 + 3.7589i >>016多项式的计算:A=[34 44 23;8 34 23;34 55 2]A =34 44 238 34 2334 55 2>> P=poly(A)P =1.0e+004 *0.0001 -0.0070 -0.1107 2.3462>> PPA=poly2str(P,'X')PPA =X^3 - 70 X^2 - 1107 X + 23462017多项式的运算:p=[2 6 8 3];w=[32 56 0 2];>> m=conv(p,w)m =64 304 592 548 180 16 6 >> [q,r]=deconv(w,p)q =16r =0 -40 -128 -46>> dp=polyder(w)dp =96 112 0>> [num,den]=polyder(w,p)num =80 512 724 312 -16den =4 24 68 108 100 48 9>> b=polyfit(p,w,4)Warning: Polynomial is not unique; degree >= number of data points. > In polyfit at 74b =-0.6704 9.2037 -32.2593 0 98.1333>> r=roots(p)r =-1.2119 + 1.0652i-1.2119 - 1.0652i-0.5761018求多项式的商和余p=conv([1 0 2],conv([1 4],[1 1]))p =1 5 6 10 8>> q=[1 0 1 1]q =1 0 1 1>> [w,m]=deconv(p,q)w =1 5m =0 0 5 4 3>> cq=w;cr=m;>> disp([cr,poly2str(m,'x')])5 x^2 + 4 x + 3>> disp([cq,poly2str(w,'x')])x + 5019将分式分解a=[1 5 6];b=[1];>> [r,p,k]=residue(b,a)r =-1.00001.0000p =-3.0000-2.0000k =[]020计算多项式:a=[1 2 3;4 5 6;7 8 9];>> p=[3 0 2 3];>> q=[2 3];>> x=2;>> r=roots(p)r =0.3911 + 1.0609i0.3911 - 1.0609i-0.7822>> p1=conv(p,q)p1 =6 9 4 12 9>> p2=poly(a)p2 =1.0000 -15.0000 -18.0000 -0.0000 >> p3=polyder(p)p3 =9 0 2>> p4=polyval(p,x)p4 =31021求除式和余项:[q,r]=deconv(conv([1 0 2],[1 4]),[1 1 1])022字符串的书写格式:s='student's =student>> name='mary';>> s1=[name s]s1 =marystudent>> s3=[name blanks(3);s]s3 =marystudent>>023交换两个数:clearclca=[1 2 3 4 5];b=[6 7 8 9 10];c=a;a=b;b=c;ab24If语句n=input('enter a number,n=');if n<10nend025 if 双分支结构a=input('enter a number ,a=');b=input('enter a number ,b=');if a>bmax=a;elsemax=b;endmax026三个数按照由大到小的顺序排列:A=15;B=24;C=45;if A<BT=A;A=B;B=T;elseif A<CT=A;A=C;C=T;elseif B<CT=B;B=C;C=T;endABC027建立一个收费优惠系统:price=input('please jinput the price : price=') switch fix(price/100)case[0,1]rate =0;case[2,3,4]rate =3/100;case num2cell(5:9)rate=5/100;case num2cell(10:24)rate=8/100;case num2cell(25:49)rate=10/100;otherwiserate=14/100;endprice=price*(1-rate)028:while循环语句i=0;s=0;while i<=1212s=s+i;i=i+1;ends029,用for循环体语句:sum=0;for i=1:1.5:100;sum=sum+i;endsum030循环的嵌套s=0;for i=1:1:6;for j=1:1:8;s=s+i^j;end;end;s031continue 语句的使用:for i=100:120;if rem(i,7)~=0;continue;end;iend032x=input ('输入X的值x=')if x<1y=x^2;elseif x>1&x<2y=x^2-1;elsey=x^2-2*x+1;endy033求阶乘的累加和sum=0;temp=1;for n=1:10;temp=temp*n;sum=sum+temp;endsum034对角线元素之和sum=0;a=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]; for i=1:4;sum=sum+a(i,i);endsum035用拟合点绘图A=[12 15.3 16 18 25];B=[50 80 118 125 150.8];plot(A,B)036绘制正玄曲线:x=0:0.05:4*pi;y=sin(x);plot(x,y)037绘制向量x=[1 2 3 4 5 6;7 8 9 10 11 12;13 14 15 16 17 18] plot(x)x=[0 0.2 0.5 0.7 0.6 0.7 1.2 1.5 1.6 1.9 2.3]plot(x)x=0:0.2:2*piy=sin(x)plot(x,y,'m:p')038在正弦函数上加标注:t=0:0.05:2*pi;plot(t,sin(t))set(gca,'xtick',[0 1.4 3.14 56.28])xlabel('t(deg)')ylabel('magnitude(v)')title('this is a example ()\rightarrow 2\pi')text(3.14,sin(3.14),'\leftarrow this zero for\pi')039添加线条标注x=0:0.2:12;plot(x,sin(x),'-',x,1.5*cos(x),':');legend('First','Second',1)040使用hold on 函数x=0:0.2:12;plot(x,sin(x),'-');hold onplot(x,1.5*cos(x),':');041一界面多幅图x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(221);plot(x,y1);title('sin(x)')subplot(222);plot(x,y2);title('cos(x)')subplot(223);plot(x,y3);title('sin(2x)')subplot(224);plot(x,y4);title('cos(2x)')042染色效果图x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(221);plot(x,y1);title('sin(x)');fill(x,y1,'r') subplot(222);plot(x,y2);title('cos(x)');fill(x,y2,'b') subplot(223);plot(x,y3);title('sin(2x)');fill(x,y3,'k') subplot(224);plot(x,y4);title('cos(2x)');fill(x,y4,'g')043特殊坐标图clcy=[0,0.55,2.5,6.1,8.5,12.1,14.6,17,20,22,22.1] subplot(221);plot(y);title('线性坐标图');subplot(222);semilogx(y);title('x轴对数坐标图');subplot(223);semilogx(y);title('y轴对数坐标图');subplot(224);loglog(y);title('双对数坐标图')t=0:0.01:2*pi;r=2*cos(2*(t-pi/8));polar(t,r)044特殊函数绘图:fplot('cos(tan(pi*x))',[-0.4,1.4])fplot('sin(exp(pi*x))',[-0.4,1.4])045饼形图与条形图:x=[8 20 36 24 12];subplot(221);pie(x,[1 0 0 0 1]);title('饼图');subplot(222);bar(x,'group');title('垂直条形图');subplot(223);bar(x,'stack');title('累加值为纵坐标的垂直条形图'); subplot(224);barh(x,'group');title('水平条形图');046梯形图与正弦函数x=0:0.1:10;y=sin(x);subplot(121);stairs(x);subplot(122);stairs(x,y);047概率图x=randn(1,1000);y=-2:0.1:2;hist(x,y)048向量图:x=[-2+3j,3+4j,1-7j];subplot(121);compass(x);rea=[-2 3 1];imag=[3 4 -7];subplot(122);feather(rea,imag);049绘制三维曲线图:z=0:pi/50:10*pi;x=sin(z);y=cos(z);plot3(x,y,z)x=-10:0.5:10;y=-8:0.5:8;[x,y]=meshgrid(x,y);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2); subplot(221);mesh(x,y,z);title('普通一维网格曲面');subplot(222);meshc(x,y,z);title('带等高线的三维网格曲面'); subplot(223);meshz(x,y,z);title('带底座的三维网格曲面'); subplot(224);surf(x,y,z);title('充填颜色的三维网格面')050 带网格二维图x=0:pi/10:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'r+-',x,y2,'k*:')grid onxlabel('Independent Variable x') ylabel('Dependent Variable y1&y2') text(1.5,0.5,'cos(x)')051各种统计图y=[18 5 28 17;24 12 36 14;15 6 30 9]; subplot(221);bar(y)x=[4,6,8];subplot(222);bar3(x,y)subplot(223);bar(x,y,'grouped') subplot(224);bar(x,y,'stack')052曲面图x=-2:0.4:2;y=-1:0.2:1;[x,y]=meshgrid(x,y);z=sqrt(4-x.^2/9-y.^2/4); surf(x,y,z)grid on053创建符号矩阵e=[1 3 5;2 4 6;7 9 11];m=sym(e)符号表达式的计算问题因式分解:syms xf=factor(x^3-1)s=sym('sin(a+b)'); expand(s)syms x tf=x*(x*(x-8)+6)*t; collect(f)syms xf=sin(x)^2+cos(x)^2; simplify(f)syms xs=(4*x^2+8*x+3)/(2*x+1); simplify(s)通分syms x yf=x/y-y/x;[m,n]=numden(f)嵌套重写syms xf=x^4+3*x^3-7*x^2+12; horner(f)054求极限syms x a;limit(exp(-x),x,0,'left')求导数syms xdiff(x^9+x^6)diff(x^9+x^6,4)055求不定积分与定积分syms x ys=(4-3*x^2)^2;int(s)int(x/(x+y),x)int(x^2/(x+2),x,1,3) double(ans)056函数的变换:syms x ty=exp(-x^2);Ft=fourier(y,x,t)fx=ifourier(Ft,t,x)057求解方程syms a b c xs=a*x^2+b*x+c;solve(s)syms x y zs1=2*x^2+y^2-3*z-4;s2=y+z-3;s3=x-2*y-3*z;[x,y,z]=solve(s1,s2,s3)058求微分方程:y=dsolve('Dy-(t^2+y^2)/t^2/2','t')059求级数和syms x ksymsum(k)symsum(k^2-3,0,10)symsum(x^k/k,k,1,inf)060泰勒展开式syms xs=(1-x+x^2)/(1+x+x^2);taylor(s)taylor(s,9)taylor(s,x,12)taylor(s,x,12,5)061练习syms x a;s1=sin(2*x)/sin(5*x);limit(s1,x,0)s2=(1+1/x)^(2*x);limit(s2,x,inf)syms xs=x*cos(x);diff(s)diff(s,2)diff(s,12)syms xs1=x^4/(1+x^2);int(s1)s2=3*x^2-x+1int(s2,0,2)syms x y zs1=5*x+6*y+7*z-16;s2=4*x-5*y+z-7;s3=x+y+2*z-2;[x,y,z]=solve(s1,s2,s3)syms x yy=dsolve('Dy=exp(2*x-y)','x')y=dsolve('Dy=exp(2*x-y)','y(0)=0','x')n=sym('n');s=symsum(1/n^2,n,1,inf)x=sym('x');f=sqrt(1-2*x+x^3)-(1-3*x+x^2)^(1/3);taylor(f,6)062求于矩阵相关的值a=[2 2 -1 1;4 3 -1 2;8 5 -3 4;3 3 -2 2]adet=det(a)atrace=trace(a)anorm=norm(a)acond=cond(a)arank=rank(a)eiga=eig(a)063矩阵计算A=[0.1389 0.6038 0.0153 0.9318;0.2028 0.2772 0.7468 0.4660;0.1987 0.1988 0.4451 0.4186]B=var(A)C=std(A)D=range(A)E=cov(A)F=corrcoef(A)064求根及求代数式的值P=[4 -3 2 5];x=roots(P)x=[3 3.6];F=polyval(P,x)065多项式的和差积商运算:f=[1 2 -4 3 -1]g=[1 0 1]g1=[0 0 1 0 1]f+g1f-g1conv(f,g)[q,r]=deconv(f,g)polyder(f)066各种插值运算:X=0:0.1:pi/2;Y=sin(X);interp1(X,Y,pi/4)interp1(X,Y,pi/4,'nearest')interp1(X,Y,pi/4,'spline')interp1(X,Y,pi/4,'cubic')067曲线的拟合:X=0:0.1:2*pi;Y=cos(X);[p,s]=polyfit(X,Y,4)plot(X,Y,'K*',X,polyval(p,X),'r-')068求函数的最值与0点x=2:0.1:2;[x,y]=fminbnd('x.^3-2*x+1',-1,1) [x,y]=fzero('x.^3-2*x+1',1)069求多项式的表达式、值、及图像y=[1 3 5 7 19]t=poly(y)x=-4:0.5:8yx=polyval(t,x)plot(x,yx)070数据的拟合与绘图x=0:0.1:2*pi;y=sin(x);p=polyfit(x,y,5);y1=polyval(p,x)plot(x,y,'b',x,y1,'r')071求代数式的极限:syms xf=sym('log(1+2*x)/sin(3*x)');b=limit(f,x,0)072求导数与微分syms xf=sym('x/(cos(x))^2');y1=diff(f)y2=int(f,0,1)078划分网格函数[x,y]=meshgrid(-2:0.01:2,-3:0.01:5); t=x.*exp(-x.^2-y.^2);[px,py]=gradient(t,0.05,0.1);td=sqrt(px.^2+py.^2);subplot(221)imagesc(t)subplot(222)imagesc(td)colormap('gray')079求多次多项方程组的解:syms x1 x2 a ;eq1=sym('x1^2+x2=a')eq2=sym('x1-a*x2=0')[x1 x2]=solve(eq1,eq2,x1,x2)v=solve(eq1,eq2)v.x1v.x2an1=x1(1),an2=x1(2)an3=x2(1),an4=x2(2)080求解微分方程:[y]=dsolve('Dy=-y^2+6*y','y(0)=1','x')s=dsolve('Dy=-y^2+6*y','y(0)=1','x')[u]=dsolve('Du=-u^2+6*u','u(0)=1')w=dsolve('Du=-u^2+6*u','z')[u,w]=dsolve('Du=-w^2+6*w,Dw=sin(z)','u(0)=1,w(0)=0','z') v=dsolve('Du=-w^2+6*w,Dw=sin(z)','u(0)=1,w(0)=0','z')081各种显现隐含函数绘图:f=sym('x^2+1')subplot(221)ezplot(f,[-2,2])subplot(222)ezplot('y^2-x^6-1',[-2,2],[0,10])x=sym('cos(t)')y=sym('sin(t)')subplot(223)ezplot(x,y)z=sym('t^2')subplot(224)ezplot3(x,y,z,[0,8*pi])082极坐标图:r=sym('4*sin(3*x)')ezpolar(r,[0,6*pi])083多函数在一个坐标系内:x=0:0.1:8;y1=sin(x);subplot(221)plot(x,y1)subplot(222)plot(x,y1,x,y2)w=[2 3;3 1;4 6]subplot(223)plot(w)q=[4 6:3 5:1 2]subplot(224)plot(w,q)084调整刻度图像:x=0:0.1:10;y1=sin(x);y2=exp(x);y3=exp(x).*sin(x);subplot(221)plot(x,y2)subplot(222)loglog(x,y2)subplot(223)plotyy(x,y1,x,y2)085等高线等图形,三维图:t=0:pi/50:10*pi;subplot(2,3,1)plot3(t.*sin(t),t.*cos(t),t.^2) grid on[x,y]=meshgrid([-2:0.1:2])z=x.*exp(-x.^2-y.^2)subplot(2,3,2)plot3(x,y,z)box offsubplot(2,3,3)meshz(x,y,z)subplot(2,3,4)surf(x,y,z)contour(x,y,z)subplot(2,3,6)surf(x,y,z)subplot(2,3,5)contour(x,y,z)box offsubplot(2,3,6)contour3(x,y,z)axis off086统计图Y=[5 2 1;8 7 3;9 8 6;5 5 5;4 3 2]subplot(221)bar(Y)box offsubplot(222)bar3(Y)subplot(223)barh(Y)subplot(224)bar3h(Y)087面积图Y=[5 1 2;8 3 7;9 6 8;5 5 5;4 2 3];subplot(221)area(Y)grid onset(gca,'Layer','top','XTick',1:5)sales=[51.6 82.4 90.8 59.1 47.0];x=90:94;profits=[19.3 34.2 61.4 50.5 29.4];subplot(222)area(x,sales,'facecolor',[0.5 0.9 0.6], 'edgecolor','b','linewidth',2) hold onarea(x,profits,'facecolor',[0.9 0.85 0.7], 'edgecolor','y','linewidth',2) hold offset(gca,'Xtick',[90:94])set(gca,'layer','top')gtext('\leftarrow 销售量') gtext('利润')gtext('费用')xlabel('年','fontsize',14)088函数的插值:x=0:2*pi;y=sin(x);xi=0:0.1:8;yi1=interp1(x,y,xi,'linear')yi2=interp1(x,y,xi,'nearest') yi3=interp1(x,y,xi,'spline')yi4=interp1(x,y,xi,'cublic')p=polyfit(x,y,3)yy=polyval(p,xi)subplot(3,2,1)plot(x,y,'o')subplot(3,2,2)plot(x,y,'o',xi,yy)subplot(3,2,3)plot(x,y,'o',xi,yi1)subplot(3,2,4)plot(x,y,'o',xi,yi2)subplot(3,2,5)plot(x,y,'o',xi,yi3)subplot(3,2,6)plot(x,y,'o',xi,yi4)089二维插值计算:[x,y]=meshgrid(-3:0.5:3);z=peaks(x,y);[xi,yi]=meshgrid(-3:0.1:3); zi=interp2(x,y,z,xi,yi,'spline') plot3(x,y,z)hold onmesh(xi,yi,zi+15)hold offaxis tight090函数表达式;function f=exlin(x)if x<0f=-1;elseif x<1f=x;elseif x<2f=2-x;elsef=0;end091:硬循环语句:n=5;for i=1:nfor j=1:nif i==ja(i,j)=2;elsea(i,j)=0;endendendwhile 循环语句:n=1;while prod(1:n)<99^99;n=n+1endn:092 switch开关语句a=input('a=?')switch acase 1disp('It is raning') case 0disp('It do not know')case -1disp('It is not ranging')otherwisedisp('It is raning ?')end093画曲面函数:x1=linspace(-3,3,30)y1=linspace(-3,13,34)[x,y]=meshgrid(x1,y1);z=x.^4+3*x.^2-2*x+6-2*y.*x.^2+y.^2-2*y; surf(x,y,z)。

Matlab编程与应用习题和一些参考答案

Matlab编程与应用习题和一些参考答案

Matlab编程与应用习题和一些参考答案Matlab 上机实验一、二3.求下列联立方程的解⎪⎪⎩⎪⎪⎨⎧=+-+-=-+=++-=--+41025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10];>> b=[4;4;9;4];>> c=a\b4.设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------=81272956313841A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。

>> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8];>> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7];>> C1=A*B'>> C2=A'*B>> C3=A.*B>> inv(C1)>> inv(C2)>> inv(C3)5.设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y ,把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线。

>> x=linspace(0,2*pi,101);>> y=cos(x)*(0.5+(1+x.^2)\3*sin(x));>> plot(x,y,'r')6.产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。

并求该矩阵全体数的平均值和均方差。

(mean var )a=randn(8,6)mean(a)var(a)k=mean(a)k1=mean(k)i=ones(8,6)i1=i*k1i2=a-i1i3=i2.*i2g=mean(i3)g2=mean(g)10.利用帮助查找limit 函数的用法,并自己编写,验证几个函数极限的例子。

MATLAB课后习题集附标准答案

MATLAB课后习题集附标准答案

第2章MATLAB概论1、与其他计算机语言相比较,MA TLAB语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MA TLAB系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装.第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可.4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.5、如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器.6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中.8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成.在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上.9、在MA TLAB中有几种获得帮助的途径?答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器.(2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息.(3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数.(4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数.注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息.第3章 MATLAB 数值运算3.1在MA TLAB 中如何建立矩阵⎥⎦⎤⎢⎣⎡194375,并将其赋予变量a ? 答:在Command Window 窗口输入操作:>> a=[5 7 3;4 9 1]3.2有几种建立矩阵的方法?各有什么优点? 答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷;(2)通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; (3)由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; (4)通过数据文件建立,该方法可以调用由其他软件产生数据.3.3在进行算术运算时,数组运算和矩阵运算各有什么要求?答:进行数组运算的两个数组必须有相同的尺寸.进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数.渗釤呛俨匀谔鱉调硯錦。

MATLAB习题及参考答案经典.doc

MATLAB习题及参考答案经典.doc

习题:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。

2, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。

3, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。

4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。

(应用sin,cos,tan.cot)5, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4⨯3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574(2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []2965318772546, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。

(应用poly,polyvalm)7, 求解多项式x 3-7x 2+2x +40的根。

(应用roots)8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。

(应用poly,polyvalm)9, 计算多项式9514124234++--x x x x 的微分和积分。

(应用polyder,polyint ,poly2sym)10, 解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡66136221143092x 。

(应用x=a\b)11, 求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解。

(应用pinv) 12, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。

(应用det,inv)13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。

matlab考试题目及答案

matlab考试题目及答案

matlab考试题目及答案1. 题目:编写一个MATLAB函数,实现计算并返回一个向量中所有元素的平方和。

答案:以下是一个简单的MATLAB函数,用于计算并返回一个向量中所有元素的平方和。

```matlabfunction sumOfSquares = calculateSumOfSquares(vector)sumOfSquares = sum(vector.^2);end```2. 题目:给定一个3x3的矩阵A,使用MATLAB编写代码,求出矩阵A 的转置。

答案:可以通过简单的转置操作来求得矩阵A的转置。

```matlabA = [1 2 3; 4 5 6; 7 8 9];A_transpose = A';```3. 题目:编写一个MATLAB脚本,实现对一个二维数组进行排序,并返回排序后的数组。

答案:以下是一个MATLAB脚本,用于对一个二维数组进行排序,并返回排序后的数组。

```matlabfunction sortedArray = sort2DArray(array)sortedArray = sort(array(:));end```4. 题目:给定一个向量x,使用MATLAB编写代码,计算并返回向量x的元素个数。

答案:可以通过内置函数`numel`来计算向量x的元素个数。

```matlabx = [1, 2, 3, 4, 5];numElements = numel(x);```5. 题目:编写一个MATLAB函数,实现计算并返回两个向量元素的点积。

答案:以下是一个简单的MATLAB函数,用于计算两个向量的点积。

```matlabfunction dotProduct = calculateDotProduct(vector1, vector2)dotProduct = dot(vector1, vector2);end```6. 题目:给定一个矩阵B,使用MATLAB编写代码,求出矩阵B的行列式。

matlab试题及答案

matlab试题及答案

matlab试题及答案# MATLAB试题及答案一、选择题1. MATLAB的基本数据单位是:A. 矩阵B. 向量C. 标量D. 数组答案:A2. 下列哪个命令可以用来绘制函数图形?A. `plot`B. `graph`C. `draw`D. `chart`答案:A3. MATLAB中,以下哪个是正确的矩阵转置操作?A. `transpose(A)`B. `A'`C. `A^T`D. `flip(A)`答案:B二、简答题1. 简述MATLAB中矩阵的基本操作。

答案:在MATLAB中,矩阵是最基本的数据结构,可以进行加、减、乘、除等基本运算。

矩阵的创建可以使用方括号`[]`,例如`A = [1 2;3 4]`。

矩阵的转置使用单引号`'`,例如`A'`。

矩阵的求逆使用`inv`函数,例如`inv(A)`。

2. MATLAB中如何实现循环结构?答案:MATLAB中实现循环结构主要有两种方式:`for`循环和`while`循环。

`for`循环用于已知迭代次数的情况,例如:```matlabfor i = 1:5disp(i);end````while`循环用于迭代次数未知的情况,例如:```matlabi = 1;while i <= 5disp(i);i = i + 1;end```三、计算题1. 给定矩阵A和B,请计算它们的乘积C,并求C的行列式。

A = [1 2; 3 4]B = [5 6; 7 8]答案:首先计算矩阵乘积C:```matlabC = A * B;```然后计算C的行列式:```matlabdetC = det(C);```结果为:```matlabC = [19 22; 43 50]detC = -16```2. 编写一个MATLAB函数,计算并返回一个向量的范数。

答案:```matlabfunction norm_value = vector_norm(v)norm_value = norm(v);end```四、编程题1. 编写一个MATLAB脚本,实现以下功能:- 随机生成一个3x3的矩阵。

matlab7.X课后习题

matlab7.X课后习题

第二章第三题clc;clear;close alla=5-round(100*rand(50,2))/10 a =-4.5000 3.10002.7000 -1.8000-1.1000 2.00000.1000 -0.4000-3.9000 3.5000-2.6000 -2.00000.4000 1.20004.8000 -3.6000-3.2000 -3.50000.6000 -0.9000-1.2000 0-2.9000 -4.0000-4.2000 -3.2000-2.4000 -1.40003.2000 -3.20000.9000 -1.6000-4.4000 1.6000-4.2000 2.10000.9000 1.6000-3.9000 -0.30004.4000 -2.30001.5000 1.9000-3.1000 -3.40004.9000 -0.70003.6000 1.30003.0000 -2.00003.0000 -0.5000-1.0000 0.60002.3000 -1.90003.0000 -1.20004.8000 -2.9000-2.5000 -4.60000.5000 -0.2000-4.3000 -3.80000.3000 3.30000.8000 -4.8000-3.5000 2.3000-0.3000 2.50003.0000 -3.8000-1.7000 -2.4000-3.4000 3.60004.8000 4.9000-1.8000 -3.90001.2000 3.0000-3.3000 2.00000 -1.6000-2.1000 2.20000.7000 0.30002.0000 4.40003.1000 -4.9000第六题clc;clear;close alla=randn(10,10)b=find(-0.5<a<0.5);z=length(b)a =Columns 1 through 9-0.4326 -0.1867 0.2944 -0.3999 -1.6041 -1.0106 0.0000 0.5689 0.6232 -1.6656 0.7258 -1.3362 0.6900 0.2573 0.6145 -0.3179 -0.2556 0.7990 0.1253 -0.5883 0.7143 0.8156 -1.0565 0.5077 1.0950 -0.3775 0.9409 0.2877 2.1832 1.6236 0.7119 1.4151 1.6924 -1.8740 -0.2959 -0.9921 -1.1465 -0.1364 -0.6918 1.2902 -0.8051 0.5913 0.4282 -1.4751 0.2120 1.1909 0.1139 0.8580 0.6686 0.5287 -0.6436 0.8956 -0.2340 0.2379 1.1892 1.0668 1.2540 1.1908 0.2193 0.3803 0.7310 0.1184 -1.0078 -0.0376 0.0593 -1.5937 -1.2025 -0.9219 -1.0091 0.5779 0.3148 -0.7420 0.3273 -0.0956 -1.4410 -0.0198 -2.1707 -0.0195 0.0403 1.4435 1.0823 0.1746 -0.8323 0.5711 -0.1567 -0.0592 -0.0482 0.6771 -0.3510 -0.1315Column 100.38990.0880-0.6355-0.55960.4437-0.94990.78120.5690-0.8217-0.2656z =26第三章第五题clc;clear;close all x=-3:0.1:3;y1=2*x+5;y2=x.^2-3*x+1;figure(1)subplot(2,1,1);plot(x,y1),grid on axis([-3 3 -5 15 ]) subplot(2,1,2);plot(x,y2),grid on axis([-3 3 -5 15 ])第七题clc;clear;close all x=[190 33 45 42 45]; explode=[0 1 0 0 0]; figure(1)pie3(x,explode)title('三维饼图')第八题clc,clear,close all[x,y]=meshgrid(-3:.125:3);z=(x-2).^2+(y-1.2).^2;meshc(x,y,z);axis([-4 4 -4 4 0 30])title('z=(x-2).^2+(y-1.2).^2的网格曲线')第九题clc;clear;close all[x,y]=meshgrid(-5:.1:5);z=x.^2+y.^2+sin(x*y);figure(1)subplot(2,1,1)plot3(x,y,z),grid onsubplot(2,1,2)[C,h]=contour(x,y,z);set(h,'showtext','on','textstep',get(h,'levelstep')*2)第四章第三题clc;clear;close all i=0;for y=[1:1:2006]; while y>=10if rem(y,10)==0 i=i+1;endy=fix(y/10); endenddisp(i)504第五题clc;clear;close all i=1x1=[-3:0.01:3];for x=x1if x>=-3&x<-1y1(i)=(-x^2-4*x-3)/2;elseif x>=-1&x<1y1(i)=-x^2+1;elseif x>=1&x<=3y1(i)=(-x^2+4*x-3)/2;endi=i+1;endfigure(1)plot(x1,y1),grid on第八题clc;clear;close allnumber=input('input the profit\n');if number>40bonus=(number-40)*0.01+20*0.02+10*0.05+10*0.1; elseif number<=40&number>20bonus=(number-20)*0.02+10*0.05+10*0.1;elseif number<=20&number>10bonus=(number-10)*0.05+10*0.1;elsebonus=number*0.1;endData=sprintf('the bonus is %d',bonus); disp(Data);input the profit150000the bonus is 1.501500e+003第九题clc;clear;close allm=1;n=2;for i=1:1:15x(i)=n/m;k=n;n=m+n;m=k;endsum(x)ans =24.5701第五章第一题clc;clear;close alla1=[1 9 8;7 2 5;3 -2 7];b1=inv(a1)det(a1)a2=[1 0 -7 5;0 -26 7 2;7 4 3 5;8 -3 2 15];b2=inv(a2)det(a2)b1 =-0.0543 0.1787 -0.06560.0769 0.0385 -0.11540.0452 -0.0656 0.1380ans =-442b2 =0.1501 0.0654 0.3046 -0.1603-0.0509 -0.0471 -0.0312 0.0336-0.1697 -0.0204 -0.0703 0.0827-0.0676 -0.0416 -0.1593 0.1478ans =-9334第二题clc;clear;close alla1=[1 2 3;2 2 5;3 5 1];b1=[11 12 31]';x1=a1\b1a2=[3 1 0 5;0 6 7 3;0 4 3 0;2 -1 2 6]; b2=[2 4 7 8]';x2=a2\b2x1 =1.80005.2000-0.4000x2 =28.1892-9.459514.9459-14.6216第八题clc;clear;close allp1=[1 -2 -3 4 2];r1=roots(p1)p2=[1 -7 5 31 -30];r2=roots(p2)p3=[1 -1 -25 25];r3=roots(p3)p4=[-2 3 1 5 8 0];r4=roots(p4)r1 =2.41421.4142-1.4142-0.4142r2 =5.0000-2.00003.00001.0000r3 =-5.00005.00001.0000r4 =2.41760.0148 + 1.3215i0.0148 - 1.3215i-0.9473第九题clc;clear;close allp1=[1 -2 -3 4 2];y1=polyval(p1,[-1.5 2.1 3.5]) p2=[1 -7 5 31 -30];y2=polyval(p2,[-1.5 2.1 3.5]) p3=[1 -1 -25 25];y3=polyval(p3,[-1.5 2.1 3.5]) p4=[-2 3 1 5 8 0];y4=polyval(p4,[-1.5 2.1 3.5]) y1 =1.0625 -1.9039 43.5625y2 =-36.5625 11.7711 -10.3125y3 =56.8750 -22.6490 -31.8750y4 =26.2500 24.7733 -468.1250第十三题clc;clear;close alla1=rand(1,50);b1=max(a1)c1=min(a1)m1=mean(a1)s1=std(a1)^2a2=randn(1,50);b2=max(a2)c2=min(a2)m2=mean(a2)s2=std(a2)^2b1 =0.9901c1 =0.0150m1 =0.5246s1 =0.0646b2 =1.4885c2 =-2.2023m2 =-0.2348s2 =0.8153第十六题clc;clear;close allt=[-2:.1:2];x1=sin(50*t)+randn(size(t)); x2=cos(50*t)+randn(size(t)); x3=sin(50*t)+randn(size(t)); r1=corrcoef(x1,x2)r2=corrcoef(x1,x3)X1=randn(size(t));X2=randn(size(t));X3=randn(size(t));R1=corrcoef(X1,X2)R2=corrcoef(X1,X3)r1 =1.0000 -0.0274-0.0274 1.0000r2 =1.0000 0.33740.3374 1.0000R1 =1.0000 -0.0346-0.0346 1.0000R2 =1.0000 0.11180.1118 1.0000第六章第二题clc;clear;close allr=round(100*rand(7,5,10));r1=reshape(r(:,:,1),1,35);a1=mean(r1)r2=reshape(r(:,:,2),1,35);a2=mean(r2)r3=reshape(r(:,:,3),1,35);a3=mean(r3)r4=reshape(r(:,:,4),1,35);a4=mean(r4)r5=reshape(r(:,:,5),1,35);a5=mean(r5)r6=reshape(r(:,:,6),1,35);a6=mean(r6)r7=reshape(r(:,:,7),1,35);a7=mean(r7)r8=reshape(r(:,:,8),1,35);a8=mean(r8)r9=reshape(r(:,:,9),1,35);a9=mean(r9)r10=reshape(r(:,:,10),1,35);a10=mean(r10)A=[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10] [B,A]=sort(A)a1 =54.1714 a2 =48a3 =52.4000 a4 =44.8286 a5 =53.2286 a6 =49.2571 a7 =50.7429 a8 =46.0571 a9 =46.1714 a10 =50.8286A =54.1714 48.0000 52.4000 44.8286 53.2286 49.2571 50.7429 46.0571 46.1714 50.8286B =44.8286 46.0571 46.1714 48.0000 49.2571 50.7429 50.8286 52.4000 53.2286 54.1714A =4 8 9 2 6 7 10 35 1第七章第二题clc;clear;close allx=[-1:.01:1];y=-2*x.^2+4;y1=-2*x.^2+4+sin(2*pi*x);figure(1)plot(x,y,x,y1),grid ontext(-0.3,4,'最大值\rightarrow')text(-1.0,4,'极大值\rightarrow')text(-0.6,2.8,'极小值\rightarrow')text(-0.1,4.8,'极大值\rightarrow')text(0.5,1.7,'极小值\rightarrow')第四题function word(y)i=1;while(any(y))[A(i).Name,y]=strtok(y);A(i).no=i;A(i).length=length(A(i).Name);A(i).value=sum([double(A(i).Name)]'); disp(A(i));i=i+1;endclc;clear;close all; y='I love MATLAB'; word(y);Name: 'I'no: 1length: 1value: 73Name: 'love' no: 2length: 4value: 438Name: 'MATLAB' no: 3length: 6value: 433。

Matlab考试试题库答案解析(2021年整理精品文档)

Matlab考试试题库答案解析(2021年整理精品文档)

Matlab考试试题库答案解析编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(Matlab考试试题库答案解析)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为Matlab考试试题库答案解析的全部内容。

填空题1、标点符号;%—用来表示该行为注释行。

可以使命令行不显示运算结果,2、x为0~4pi,步长为0。

1pi的向量,使用命令 x=0:0.1*pi:4*pi创建。

3、输入矩阵A=,使用全下标方式用A(2,2)取出元素“-5”,使用单下标方式用A(5)取出元素“-5"。

4、符号表达式sin(2*a+t)+m中独立的符号变量为t。

5、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义_______。

6。

设x是一维数组,x的倒数第3个元素表示为x(_end-2_)设y为二维数组,要删除y的第34行和48列,可使用命令y(34,:)=[];y(:,48)=[];7. 将变量x以Ascii文本格式存储到文件fname。

txt,应使用命令 save _x ;8。

在while 表达式, 语句体, End 循环语句中,表达式的值非零时表示循环条件为真,语句体将被执行,否则跳出该循环语句;9。

要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令x=input(‘Who is she?',’s’) ;10.设A=和B=和C=均为m*n矩阵,且存在于WorkSpace中,要产生矩阵D=,可用命令D=(A-C)/B.^C,计算可用命令det(inv(A’*B)11. 在MATLAB命令窗口中的“>>”标志为MATLAB的命令行提示符,“│”标志为输入提示符。

MATLAB作业7参考答案

MATLAB作业7参考答案

MATLAB作业7参考答案1、试生成满足正态分布2N的30000 个伪随机数,对其均值和方差进行验(0.5,1.4)证,并用直方图的方式观察其分布与理论值是否吻合,若改变直方图区间的宽度会得出什么结论?解:用下面的语句可以生成随机数,并计算均值和方差,可见,其结果接近给定的数值。

>> x=normrnd(0.5,1.4,30000,1);>>m=mean(x), s=std(x)m =0.49974242123102s =1.40033494141044>> xx=-5:0.3:5; yy=hist(x,xx); bar(xx,yy/length(x)/0.3); hold onx0=-5:0.1:5; y0=normpdf(x0,0.5,1.5); plot(x0,y0)>> xx=-5:0.8:5; yy=hist(x,xx); bar(xx,yy/length(x)/0.8);hold on; plot(x0,y0)2、某研究者对随机抽取的一组保险丝进行了实验,测出使保险丝烧断的电流值为10.4, 10.2,12.0, 11.3, 10.7, 10.6, 10.9, 10.8, 10.2, 12.1,假设这些值α≤的条件下求出这些保险丝的溶断电流及其满足正态分布,试在置信水平0.05置信区间。

解:方法①由normfit() 函数可以直接求出置信区间,亦即溶断电流的均值为10.92,其置信区间为(10:43; 11:41)。

>> x=[10.4,10.2,12,11.3,10.7,10.6,10.9,10.8,10.2,12.1];>> [m1,s1,ma,sa]=normfit(x,0.05); m1, mam1 =10.92000000000000ma =10.43271643434768 11.40728356565233方法②采用T 检验函数即可判定是否接受均值为mean(x) 的检验,也能求出同样的均值与置信区间>> x=[10.4,10.2,12,11.3,10.7,10.6,10.9,10.8,10.2,12.1];mean(x)ans =10.92000000000000>> [H,p,ci]=ttest(x,mean(x),0.05)H =p =1ci =10.43271643434768 11.407283565652333、假设测出某随机变量的12 个样本为9.78, 9.17, 10.06, 10.14, 9.43, 10.60, 10.59, 9.98, 10.16,10.09, 9.91, 10.36,试求其方差及方差的置信区间。

matlab课后答案完整版

matlab课后答案完整版

matlab课后答案完整版ones表⽰1矩阵zeros表⽰0矩阵ones(4)表⽰4x4的1矩阵zeros(4)表⽰4x4的0矩阵zeros(4,5)表⽰4x5的矩阵eye(10,10)表⽰10x10的单位矩阵rand(4,5)表⽰4x5的伴随矩阵det(a)表⽰计算a的⾏列式inv(a)表⽰计算a的逆矩阵Jordan(a)表⽰求a矩阵的约当标准块rank(a)表⽰求矩阵a的秩[v,d]=eig(a)对⾓矩阵b=a’表⽰求a矩阵的转置矩阵sqrt表⽰求平⽅根exp表⽰⾃然指数函数log⾃然对数函数abs绝对值第⼀章⼀、5(1)b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12]; >> d=[65 5;-23 -59;54 7];>> e=b*ce =5271 11574-11336 6641978 3112(2)a=50:1:100⼆、1 、x=-74;y=-27;z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z =-0.09012、a=-3.0:0.1:3.0;>> b=exp(-0.3*a).*sin(a+0.3)y =0.7218 1.0474-0.2180 1.15624、a*b表⽰a矩阵和b矩阵相乘a.*b表⽰a矩阵和b矩阵单个元素相乘A(m,n)表⽰取a矩阵第m⾏,第n列A(m,:)表⽰取a矩阵第m⾏的全部元素A(:,n)表⽰取a矩阵的第n列全部元素A./B表⽰a矩阵除以b矩阵的对应元素,B.\A等价于A./BA.^B表⽰两个矩阵对应元素进⾏乘⽅运算A.^2表⽰a中的每个元素的平⽅A^2表⽰A*A例:x=[1,2,3];y=[4,5,6];z=x.^yz=1 32 729指数可以是标量(如y=2).底数也可以是标量(如x=2)5、a=1+2i;>> b=3+4i;>> c=exp((pi*i)/6)c =0.8660 + 0.5000id=c+a*b/(a+b)d =1.6353 + 1.8462i第⼆章⼆、4、(1)y=0;k=0;>> while y<3k=k+1;>> display([k-1,y-1/(2*k-1)])ans =56.0000 2.9944第三章⼆1(1) x=0:pi/10:2*pi; >> y=x-x.^3/6; >> plot(x,y)1234567-40-35-30-25-20-15-10-505(2)x=0:pi/10:2*pi; y=(exp(-x.^2/2))/2*pi;plot(x,y)012345670.20.40.60.811.21.41.6(3)x=-8:0.01:8; y=sqrt((64-x.^2)/2);plot(x,y)-8-6-4-2024680123456(4)t=0:0.1:8*pi; >> x=t.*sin(t); >> y=t.*cos(t);-25-20-15-10-50510152025-30-20-10102030例3.4x=0:pi/100:2*pi; y1=exp(-0.5*x);y2=exp(-0.5*x).*sin(2*x); plot(x,y1,x,y2)>> title('x from 0 to 2{\pi} '); >> xlabel('variable x'); >> ylabel('variable y'); >> text(1.5,0.5,'曲线y1=e^(-0.5x)'); >> text(3,0.1,'曲线y2=cos(4{\pi}x)e^{-0.5x}'); >> legend('y1','y2')1234567-0.4-0.20.20.40.60.81x from 0 to 2πvariable xv a r i a b l e y曲线y1=e (-0.5x)曲线y2=cos(4πx)e -0.5xy1y22、(1)y1=2*x-0.5;t=linspace(0,pi,100); x=sin(3*t).*cos(t); y=sin(3*t).*sin(t);>> k=find(abs(y-x)<1e-2); >> t1=t(k) t1 =0 0.7933 1.04722.0944>> z=sin(3.*(t1)).*cos(t1) z =0 0.4841 0.0000 0.0000 -0.0000>> plot(t,x,t,y,'k:',t1,z,'bp');0.511.522.533.5-1-0.8-0.6-0.4-0.200.20.40.60.81(2)subplot(1,2,1); >> scatter(x1,y1,10); >> title('y=2x-0.5'); >> subplot(1,2,2); >> scatter(x,y,10)-1-0.8-0.6-0.4-0.200.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.63、subplot(1,2,1); x=0:0.01:pi; y=sin(1./x); plot(x,y)subplot(1,2,2);fplot('sin(1./x)',[1,100])1234-1-0.8-0.6-0.4-0.200.20.40.60.81204060801000.10.20.30.44、t=0:pi:2*pi; y=1./(1+exp(-t));subplot(2,2,1);%图形窗⼝的分割bar(t,'group'); %绘制柱形图(分组) subplot(2,2,2);barh(t,'stack');%绘制柱形图(堆积) subplot(2,2,3);loglog(t,y); %函数使⽤全对数坐标,x,y 均采⽤常⽤对数刻度 subplot(2,2,4); semilogy(t,y); %函数使⽤半对数坐标,y 轴为常⽤对数刻度,x 轴仍为线性刻度1230246802468123100.5100.710-0.01810-0.0010246810-0.310-0.210-0.15、(1)theta=linspace(-pi,pi,100); ro=5.*cos(theta)+4; polar(theta,ro); (2)x=linspace(0,2*pi,100);a=1>> r=a.*(1+cos(x)); polar(x,r);3021060240902701203001503301806、(1)t=0:pi/10:2*pi;>> x=exp((-t)/20).*cos(t); >> y=exp((-t)/20).*sin(t); >> z=t; >> plot3(x,y,z);-1-0.50.51-1-0.50.5102468(2)t=0:0.01:1; x=t;>> y=t.^2; >> z=t.^3;>> plot3(x,y,z);0.20.40.60.800.20.40.60.817、x=-30:0.1:0; >> y=0:0.1:30;>> [x,y]=meshgrid(x,y); >>z=10.*sin(sqrt(x.^2+y.^2))./sqrt(1+x.^2+y.^2);>> meshc(x,y,z);绘制曲⾯图和等⾼线-30-20-10102030-4-202468、x=linspace(-3,3,100); >> y=linspace(-3,3,100); >> [x y]=meshgrid(x,y); %可以将向量转化为矩阵 >> fxy=-5./(1+x.^2+y.^2); >> i=find(abs(x)<=0.8 & abs(y)<=0.5); >> fxy(i)=NaN; >>surf(x,y,fxy) %绘制三维曲⾯图-4-224-4-224-4-3-2-19、u=linspace(1,10,100); v=linspace(-pi,pi,100);[u v]=meshgrid(u,v); x=3.*u.*sin(v); y=2.*u.*cos(v); z=4*u.^2; surf(x,y,z); shading interp;-40-20-1010200100200300400第五章⼆1、a=rand(1,30000);mean(a) %求平均数 ans =0.5010 >>b=std(a) %求标准差 b =0.2882 >> c=max(a) c =0.9999 >> d=min(a) d =3.5706e-005size(find(a>0.5))/size(a) %求⼤于0.5的随机数个数占总数的百分⽐ans =0.50322、h=[466,715,950,1422,1635]; >> w=[7.04,4.28,3.40,2.52,2.13]; >> hh=[500,900,1500]; >> ww=interp1(h,w,hh,'spline')ww =6.4903 3.5226 2.3845 3、x=linspace(1,10,50); y=log(x);f=polyfit(x,y,5); %求曲线的拟合 >> yy=polyval(f,x); >> plot(x,y,'r-',x,yy,'g.') 123456789100.511.522.55、(1)、(2) p1=[1,2,0,7]; p2=[1,-2]; p3=[1,0,5,1]; p12=conv(p1,p2); >>p=p12+[zeros(1,size(p12,2)-size(p3,2)),p3]; >> roots(p) ans =-3.4656 0.6128 + 1.6278i 0.6128 - 1.6278i 1.2400-29 291 95 19 -3 697 -13 697 1427 >>y2=polyvalm(p,a)%以矩阵a 为⾃变量 y2 =391 2084 3273 502 2693 4207 720 3775 5892 6、(1)z=fzero('3*x-sin(x)+1',0) %求x=0时附近的根 z =-0.4903 第⼋章⼆、2t=0:pi/20:2*pi; x=sin(t); y=cos(t); x1=sin(7*t); y1=cos(7*t);h=plot(x,y,x1,y1);set(h,'marker','x','linewidth',2); set(gca,'xtick',-1:0.1:1); title('篮筐')-1-0.9-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.100.10.20.30.40.50.60.70.80.91 -1-0.8-0.6-0.4-0.200.20.40.60.81篮筐3、x=0:pi/10:5*pi;y=exp(-0.2*x).*cos(x)+2; h=plot(x,y);set(gca,'color','red','linestyle','-','linewidth',3);text(5,2.4,'y=exp(-0.2*x).*cos(x)+2');02468101214161.41.61.822.22.42.62.83y=exp(-0.2*x).*cos(x)+24、t=-pi:pi/100:pi; x=cos(t); y=sin(t); z=t;h=plot(t,x,t,y,t,z);set(h,'linestyle','-','linewidth',3);-4-3-2-101234-4-3-2-101234字符串例ch='Welcome to Beijing';subch=ch(12:18) 选12~18个字符串(空格也算)ans =WELCOME TO BEIJING >> length(k)统计⼩写字母的个数ans = 14 例:已知y=1-1/2+1/3-1/4.........-1/100求y 的值y=0; >> n=100; >> for i=1:100; y=y+(-1)^(i-1)/i; end>> disp(y)0.6882绘制⼆维曲线图x=0:pi/100:2*pi; >> y1=0.2*exp(-0.5*x).*cos(4*pi*x); >> y2=1.5*exp(-0.5*x).*cos(pi*x); >> plotyy(x,y1,x,y2); 7-0.20.20123456-202绘制三维图像例:x=sint+tcost y=cost-tsint z=tt=0:pi/10:10*pi; x=sin(t)+t.*cos(t); y=cos(t)-t.*sin(t); z=t; plot3(x,y,z); axis([-30 30 -30 30 0 35]); 坐标轴的最⼤值与最⼩值title('line in 3-D space'); 图形的题⽬ >> xlabel('x');ylabel('y');zlabel('z'); 标注坐标>> grid on; 加⽹格线 -30-20-10102030-20205101520253035xline in 3-D spaceyz三维例]2/,0[],,0[,cos sin 22ππ∈∈+=y x y x z [x,y]=meshgrid(0:pi/100:pi,0:pi/100:pi/2);>> z=sin(x.^2)+cos(y.^2);>> mesh(x,y,z);>> axis([0 4 0 1.8 -1.5 1.5]); 012340.511.5-1.5-1-0.500.511.5例3.16t=0:pi/20:2*pi; subplot(1,2,1);[x,y,z]=cylinder(sin(t),30);surf(x,y,z); 绘制三维曲⾯图subplot(1,2,2);>> [x,y,z]=peaks(100);>> mesh(x,y,z); 绘制三维⽹格图-11-10100.20.40.60.81-55-505-10-5510多项式求导例:f(x)=1/x^2+5 p=[1];>> q=[1,0,5];>> [p,q]=polyder(p,q)注:c=conv(a,b) 表⽰a 多项式与b 多项式乘积[p,r]=deconv(a,b) 表⽰a 多项式与b 多项式相除其中p 为商向量 r 为余数向量p=polyder(p) 表⽰求p 的导数 p=poleder(p,q) 表⽰求p 乘以q 的导数[p,q]=poleder(p,q) 表⽰p 除以q 的导数多项式求根例:f(x)=2x^4-12x^3+3x^2+5 p=[2,-12,3,0,5]; >> x=roots(p); >> p=[2,-12,3,0,5]; x=roots(p) 求⽅程f(x)=0的根 x =5.7246 0.8997 -0.3122 + 0.6229i -0.3122 - 0.6229i>> g=poly(x) 已知多项式的根求多项式 g =1.0000 -6.0000 1.5000 -0.00002.5000符号求导例7.3x=a(t-tsint)y=b(1-cost) 求y 对x 的⼀阶导数 syms x y a b t;>> f21=a*(t-sin(t)); >> f22=b*(1-cos(t));>> diff(f22)/diff(f21) 求y 对x 的⼀阶导数ans =b*sin(t)/a/(1-cos(t))注:diff(f1,x,2) 表⽰f1对x 的⼆阶导数diff (f3,x )表⽰z 对x 的偏导 diff (f3,y )表⽰z 对y 的偏导求不定积分int(f) 求f 的不定积分 f1=int(f,a,b) 求f 在a ,b 之间的定积分eval (f1)计算积分值符号求极限例7.2 syms x h>> f=(sin(x+h)-sin(x))/h;>> limit(f,h,0) h 趋向于0ans =cos(x)例2f=sym('(1+t/x)^x');limit(f,inf) f趋向于⽆穷ans =exp(t)例3f=sym('x*(sqrt(x^2+1)-x)');limit(f,sym('x'),inf,'left') x 趋向于正⽆穷ans =1/2⼤⼩写ch='Welcome to Beijing';subch=ch(12:18)subch =Beijing>> k=find(ch>='A'&ch<='Z'); ch(k)=ch(k)-('A'-'a');>> char(ch)ans =welcome to beijing>> length(k)ans =2。

matlab练习题及答案详解(附程序)

matlab练习题及答案详解(附程序)

Matlab练习题及答案详解一、基础题1、下表为1)2) 把任意两点距离的表中,自己到自己的距离,转变成无穷大clcclearclose alldata=xlsread('ti1.xls');%从excel里导入数据x=data(1,:);%将data里第一行的所有列赋值给xy=data(2,:);%将data里第二行的所有列赋值给xn=length(x);%表x的长度dis=zeros(n,n);%对距离表进行初始化for i=1:nfor j=1:ndis(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2);%平面坐标距离公式endenddis(dis==0)=inf;%将距离表中为0的数值,变成无穷大redis=dis;2、按要求步骤,操作下表要求:1) 对每列进行[0,1]区间化'(min())/(max min())=--;x x x x2) 把区间化后的表的右边3列,连接在左边3列下边,构成16行3列的表;3) 把16行3列进行转置,得到3行16列的表。

然后对列进行操作,把3行16列的表变成一列,后转置成一行,得到最终的结果。

clcclearclose allx=load('ti2.txt');%从txt里导入数据big=max(x);small=min(x);%算出每列的最大最小值[m,n]=size(x);%表x的行和列的大小newx1=zeros(m,n);%对newx1进行初始化,大小和初始x一样大for i=1:nnewx1(:,i)=(x(:,i)-small(i))./(big(i)-small(i));endnewx2=zeros(2*m,n/2);%对最新的表进行初始化大小为,行为newx1的2倍,列为一半newx2(1:m,1:n/2)=newx1(1:m,1:n/2);%把左边3列不操作的值,直接赋值给newx2上边newx2(m+1:end,1:n/2)=newx1(1:m,n/2+1:end);%把右边的3列,赋值给newx2下边[p,q]=size(newx2);%表newx2的行和列的大小 newx3=zeros(p*q,1);%对newx3进行初始化 for j=1:qnewx3((j-1)*p+1:j*p,1)=newx2(:,q);%对newx3进行操作 end% newx3=reshape(newx2,[],1); renewx=newx3';%最终的结果3、数值运算1)用matlab 求下列式子极限(a) lim x → (b) 0x →2)用matlab 求下列函数的导数(a)22sin (1)y x =+ (b) arccos()(,)x f x y ye =3)用matlab 求下列式子的定积分(a) 4⎰(b) 312-⎰⎰clc clear %===求极限 %====3.1.a=== syms xy=(x^(1/2)-8)/(x^(1/3)-4);re1a=limit(y,x,64)%====3.1.b===syms xy=((x^2-2*x+4)^(1/2)-2)/x;re1b=limit(y,x,0)%===求导数%====3.2.a===syms xf=(sin(x^2+1))^2;re2a=diff(f,x)%对x求导%====3.2.b===syms x yf=y*exp(acos(x));re2bx=diff(f,x)%对x求偏导re2by=diff(f,y)%对y求偏导%===求定积分===%====3.3.a===syms xre3a=int((x+2)/(2*x+1)^(1/2),x,0,4)%一重积分%====3.3.b===syms x yre3b=int(int(y/(x^2-1),x,-2,-sqrt(2)),y,1,3)%二重积分二、提高题1、画一个正五边形,边长自定。

matlab试题及答案

matlab试题及答案

matlab试题及答案一、单项选择题(每题2分,共10分)1. MATLAB中用于创建向量的命令是:A. vectorB. arrayC. linspaceD. colon答案:D2. 在MATLAB中,以下哪个函数用于计算矩阵的行列式?A. detB. rankC. invD. eig答案:A3. MATLAB中用于进行矩阵转置的运算符是:A. 'B. .C. ^D. !答案:A4. 若A是一个3x3的矩阵,执行命令A(2,:)=0;后,矩阵A的第二行将变为:A. [0 0 0]B. [1 0 0]C. [0 1 0]D. [0 0 1]答案:A5. MATLAB中,以下哪个函数用于绘制三维曲面图?A. plotB. surfC. barD. hist答案:B二、填空题(每题3分,共15分)1. MATLAB中,使用________命令可以清除所有变量。

答案:clear2. 若要在MATLAB中创建一个从0到1的100个元素的向量,可以使用命令________。

答案:linspace(0,1,100)3. MATLAB中,使用________函数可以计算矩阵的特征值。

答案:eig4. 在MATLAB中,________函数用于计算两个矩阵的点乘。

答案:dot5. 若要在MATLAB中绘制一个圆,可以使用________函数。

答案:plot三、简答题(每题5分,共20分)1. 请解释MATLAB中矩阵索引的概念。

答案:在MATLAB中,矩阵索引指的是通过行号和列号来访问矩阵中特定元素的过程。

例如,A(2,3)表示访问矩阵A的第二行第三列的元素。

2. MATLAB中如何实现矩阵的元素乘法?答案:在MATLAB中,矩阵的元素乘法可以通过使用点乘运算符(.*)来实现。

例如,C = A .* B,其中A和B是相同大小的矩阵。

3. 请说明MATLAB中如何使用循环结构。

答案:MATLAB中可以使用for循环和while循环两种循环结构。

《MATLAB7.x》程序设计语言(第二版)课后题答案

《MATLAB7.x》程序设计语言(第二版)课后题答案

《MATLAB7.x》程序设计语言(第二版)部分课后习题答案(楼顺天,姚若玉,沈俊霞编著)说明:所有答案均是本人在备考过程中亲自整理的,收录了一部分题目的答案。

答案可能存在不足甚至谬误,很多算法也可能不是最优的,仅供参考。

本人尽力整理的一点点心血,希望对大家有所帮助。

第二章8、a=rand(5,5);[i,j]=find(a>0.5);for u=1:length(i);b(u)=a(i(u),j(u));endb'10、aa=any(a');i=find(aa==0)a(i,:)=[];第四章1、function flag=isprime(m)%m为素数,flag=1%m不为素数,flag=0k=sqrt(m);flag=1;for i=2:k;if rem(m,i)==0;flag=0;breakendendm=input('input an integer\n');flag=isprime(m);if flag==1disp([num2str(m),'是素数'])elsedisp([num2str(m),'不是素数'])end4、function [x1,x2]=jfc(a,b,c)d=b^2-4*a*c;if d>0;x1=(-b-sqrt(d))/(2*a);x2=(-b+sqrt(d))/(2*a);elseif d==0;x1=-b/(2*a);x2=x1;enda=input('a=');b=input('b=');c=input('c=');[x1,x2]=jfc(a,b,c);if x1~=x2;disp('原方程存在两个不同的根')disp(['x1=',num2str(x1)])disp(['x2=',num2str(x2)]);elseif x1==x2;disp('原方程存在两个相同的根')disp(['x1=x2=',num2str(x1)])elsedisp('原方程的根不存在')end%MATLAB上机作业,184页习题4,求二次方程的实根function [s1,s2]=solve(a,b,c)d=b^2-4*a*c;if d>0s1=(-b-sqrt(d))/(2*a)s1=(-b-sqrt(d))/(2*a)%disp(['原方程有两个不同的根'num2str(s1)'和'nums2tr(s2)]) elseif d==0s1=(-b-sqrt(d))/(2*a);s1=(-b-sqrt(d))/(2*a);%disp(['原方程有两个相同的根'num2str(s1))elsedisp('原方程无实根')endend5、x=-3:0.01:3;if x>=-3 & x<-1;y=(-x.^2-4*x-3)/2;elseif x>=-1 & x<1;y=-x.^2+1;elsey=(-x.^2+4*x-3)/2;endplot(x,y)6、%MATLAB上机作业,184页习题6,点不同按钮产生不同分布的数s=menu('请选择随机数类型','U[-10,10]','U[-5,5]','U[-1,1]','N(0,1)');switch scase 1,n=(rand(1)-0.5)*20;case 2,n=(rand(1)-0.5)*10;case 3,n=(rand(1)-0.5)*2;case 4,n=randn(1);otherwise disp('请选择!')endn7、load a.txt[m,n]=size(a);w=zeros(m,1);for i=1:m;w(i)=(2*a(i,1)+3*a(i,2)+2*a(i,3)+4*a(i,4)+2.5*a(i,5)+a(i,6))/14.5;endw8、function k=jj(i)if i<=10k=0.1*i;elseif i<=20k=1+(i-10)*0.05;elseif i<=40k=1.5+(i-20)*0.02;elsek=1.9+(i-40)*0.01;ends=0;a=2;b=1;for i=1:15;s=s+a/b;c=b;b=a;a=a+c;ends9、a=ones(15,1);b=ones(15,1);c=ones(15,1);a(1)=2;c(1)=2;for i=2:15;a(i)=b(i-1)+a(i-1);b(i)=a(i-1);c(i)=a(i)./b(i)endsum(c)第五章3、t=1:1:10;t=t';y=[4.842,4.362,3.754,3.368,3.169,3.083,3.304,3.016,3.012,3.005]';x1=[ones(size(t)),exp(-t)];x2=[ones(size(t)),t.*exp(-t)];p1=x1\y;p2=x2\y;tt=linspace(1,10,1000);plot(t,y,'*',tt,p1(1)+p1(2)*exp(-tt),'r-',tt,p2(1)+p2(2)*tt.*exp(-tt),'c-')grid on,legend('给定数据','y1拟合','y2拟合')5、(1)function dy=cwf(t,y)dy=[5*y(1)-5*y(2)-6*y(3);3*y(1)-2*y(2)+5*y(3);2*y(1)-y(2)-4*y(3)];x0=[1,-4,5];tspan=[13,16];[t,y]=ode45('cwf',tspan,x0);plot(t,y)(2)function dy=cwf(t,y)dy=[y(1)+2*y(2)-3*y(3)+y(4);3*y(1)+y(3)-2*y(4);y(1)-2*y(2)+5*y(4);2*y(1)+3*y(2)+y(4)];x0=[1,-1,2,1];tspan=[15,16];[t,y]=ode45('cwf',tspan,x0);plot(t,y)7、t=1:10;tt=1:0.01:10;y=[15,39.5,66,85.5,89,67.5,12,-86.4,-236.9,-448.4];p1=polyfit(t,y,2);y1=polyval(p1,tt);p2=polyfit(t,y,3);y2=polyval(p2,tt);plot(t,y,'b*',tt,y1,'r-',tt,y2,'c-');legend('样本点','二次拟合','三次拟合'),grid on10&11、pa=[2 3 -4];pb=[4 -2 5];pc=[3 -2 5 6];d1=conv(pa,pb)[q2,r2]=deconv(pc,pa)[q3,r3]=deconv(pc,pb)dy1=polyder(pa,pb)[q2,r2]=polyder(pc,pa)[q3,r3]=polyder(pc,pb)12、x=-5:1:5;xx=-5:0.01:5;y=10.*exp(-abs(x));y1=interp1(x,y,xx,'nearest');y2=interp1(x,y,xx,'linear');y3=interp1(x,y,xx,'spline');y4=interp1(x,y,xx,'cubic');plot(x,y,'*',xx,y1,'r-',xx,y2,'c-',xx,y3,'k-',xx,y4,'g-')grid on,legend('样本点','最临近内插','线性内插','三次样条内插','三次曲线内插')13、a=rand(1,50);amax=max(a)amin=min(a)ua=mean(a)vara=(std(a))^2b=randn(1,50);bmax=max(a)bmin=min(a)ub=mean(a)varb=(std(a))^214、t=[0,0.2,0.4,0.6,0.8,1,2,5]';tt=0:0.01:5;y=[1,1.51,1.88,2.13,2.29,2.4,2.6,-4]';p1=polyfit(t,y,3);y1=polyval(p1,tt);x=[ones(size(t)),exp(t)];p2=x\y;y2=p2(1)+p2(2)*exp(tt);plot(t,y,'k*',tt,y1,'r-',tt,y2,'b-')legend('样本点','三次多项式拟合','指数拟合'),grid on17、function y=jifen1(x)y=exp(-2*x);function y=jifen2(x)y=exp(2*x);function y=jifen3(x)y=x.^2-3*x+0.5;z1=quadl('jifen1',0,2)z2=quadl('jifen2',0,2)z3=quadl('jifen3',-1,1)19、function z=jifen(x,y)z=exp(-x*y)-2*x*y;q=dblquad('jifen',0,1,-1,1)20、function dy=cwf(t,y)dy=[0.5-y(1);y(1)-4*y(2)];x0=[1,-0.5];tspan=[0,25];[t,y]=ode45('cwf',tspan,x0);plot(y(1,:),y(2,:));grid on。

matlab课后习题与答案

matlab课后习题与答案

习题二1.如何理解“矩阵是MATLAB最基本的数据对象”?答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。

因此,矩阵是MATLAB最基本、最重要的数据对象。

2.设A和B是两个同维同大小的矩阵,问:(1)A*B和A.*B的值是否相等?答:不相等。

(2)A./B和B.\A的值是否相等?答:相等。

(3)A/B和B\A的值是否相等?答:不相等。

(4)A/B和B\A所代表的数学含义是什么?答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。

3.写出完成下列操作的命令。

(1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。

答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5])(2)删除矩阵A的第7号元素。

答:A(7)=[](3)将矩阵A的每个元素值加30。

答:A=A+30;(4)求矩阵A的大小和维数。

答:size(A);ndims(A);(5)将向量t的0元素用机器零来代替。

答:t(find(t==0))=eps;(6)将含有12个元素的向量x转换成34矩阵。

答:reshape(x,3,4);(7)求一个字符串的ASCII码。

答:abs(‘123’); 或double(‘123’);(8) 求一个ASCII 码所对应的字符。

答:char(49);4. 下列命令执行后,L1、L2、L3、L4的值分别是多少?A=1:9;B=10-A;...L1=A==B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0]L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0]L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0]L4的值为[4, 5, 6]5. 已知23100.7780414565532503269.5454 3.14A -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥-⎣⎦完成下列操作:(1) 取出A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角32⨯子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E 。

《MATLAB+7.X程序设计》习题答案汇总

《MATLAB+7.X程序设计》习题答案汇总

习题答案第1章1-2(1)使用Windows“开始”菜单。

(2)运行MATLAB系统启动程序matlab.exe。

(3)利用快捷方式。

1-3 MATLAB系统主要由开发环境、MATLAB函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。

1-4窗口:M文件编辑/调试器、历史指令窗、当前目录浏览器、工作空间浏览器、内存数组编辑器、交互界面分类目录窗、及帮助导航/浏览器和图形窗。

1-5在操作桌面上选择建立新文件或打开文件操作时,M文件编辑/调试器将被启动。

在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。

MATLAB的开发环境中包括了专门的M文件编辑器,该编辑器不但提供了M文件的编辑功能,同时还与MATLAB的开发环境一起实现了MATLAB命令和函数文件的运行与调试。

1-6Copy 将所选历史命令拷贝到剪贴板EvaluateSelection 运行所选历史命令CreateM-File 打开编辑器,将所选历史命令复制到编辑器DeleteSelection 删除所选历史命令(不确认是否删除) DeletetoSelection 从头删除到所选历史命令(不确认是否删除) DeleteEntireHistory 清除全部历史命令(将弹出对话框确认是否清除)1-7当用户在MATLAB命令窗口输入一条命令后,MATLAB按照一定次序寻找相关的文件。

基本的搜索过程是:(1)检查该命令是不是一个变量。

(2)检查该命令是不是一个内部函数。

(3)检查该命令是否当前目录下的M文件。

(4)检查该命令是否MATLAB搜索路径中其他目录下的M文件。

用户可以将自己的工作目录列入MATLAB搜索路径,从而将用户目录纳入MATLAB系统统一管理。

设置搜索路径的方法有:(1)用path命令设置搜索路径。

例如,将用户目录c:\mydir加到搜索路径下,可在命令窗口输入命令:2MTALB 7.X 程序设计path(path,’d:\my’)(2) 用对话框设置搜索路径1-8在MATLAB中有多种获得帮助的途径:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help 菜单项可以打开帮助浏览器;(2)help命令:在命令窗口键入help 命令可以列出帮助主题,键入help 函数名可以得到指定函数的在线帮助信息;(3)lookfor命令:在命令窗口键入lookfor 关键词可以搜索出一系列与给定关键词相关的命令和函数;注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。

matlab7.x课后答案(楼顺天版)

matlab7.x课后答案(楼顺天版)

1、利用基本矩阵产生3*3和15*8的单位矩阵、全1矩阵、全0矩阵、均匀分布随机阵([-1,1]之间)、正态分布随机阵(均值为1,方差为4)。

解:A1=eye(3); A2=ones(3); A3=zeros(3); A4=2*rand(3)-1; A5=2*randn(3)+1;B1=eye(15,8); B2=ones(15,8); B3=zeros(15,8); B4=2*rand(15,8)-1; B5=2*randn(15,8)+1; 结果:由于数据是随机产生的,所以在没有给出运行结果。

2、利用diag等函数产生下列矩阵:a=[0 0 8;0 -7 5;2 3 0] b=[2 0 4;0 5 0;7 0 8]然后利用reshape函数将它们变换成行向量。

解:产生a的程序:b=diag([8 -7 2]);c=b+diag([5 3],-1);a=fliplr(c)产生b的程序:s=[2 2 8];t=[4 3 7];v=diag(s);p=diag(t)+fliplr(v);b=fliplr(p)运行结果:a =0 0 80 -7 52 3 0b =2 0 40 5 07 0 8利用reshape函数将它们变换成行向量:reshape(a,1,9)ans =0 0 2 0 -7 3 8 5 03、产生一均匀分布在(-5,5)之间的随机阵(50*2),要求精确到小数点后一位。

解:A=5-round(100*rand(50,2))/10部分数据结果:A =2.4000 4.2000-0.1000 2.7000-4.6000 -3.3000-0.5000 -0.40003.50004.20004、编程实现当t∈[-π,π],间隔为1°时求解正弦和余弦值。

解:t=(-1*pi:1/180:pi);y1=sin(t)y2=cos(t)部分数据结果:Columns 10 through 18(y1)-0.0500 -0.0555 -0.0611 -0.0666 -0.0722 -0.0777 -0.0832 -0.0888 -0.09435、利用rand函数产生(0,1)间的均匀分布的10*10随机矩阵A,然后统计A中大于等于0.6的元素的个数。

Matlab考试题库及答案(教师出卷参考专用)

Matlab考试题库及答案(教师出卷参考专用)

Matlab考试题库及答案(教师出卷参考专用)一、选择题1.以下哪个函数用于在Matlab中创建一个图形窗口?A. figureB. plotC. graphD. window答案:A2.在Matlab中,以下哪个选项可以用来定义一个矩阵?A. A = [1 2 3; 4 5 6]B. A = (1, 2, 3, 4, 5, 6)C. A = {1, 2, 3, 4, 5, 6}D. A = 1 2 3; 4 5 6答案:A3.以下哪个函数用于求解线性方程组Ax=b?A. solveB. linsolveC. solve(A, b)D. linsolve(A, b)答案:D4.在Matlab中,如何计算矩阵A和矩阵B的乘积?A. A BB. A \ BC. A . BD. A .\ B答案:A5.以下哪个函数用于在Matlab中绘制三维散点图?A. scatterB. scatter3C. plot3D. bar3答案:B二、填空题1.在Matlab中,要创建一个名为"myfig"的图形窗口,可以使用______函数。

答案:figure('Name', 'myfig')2.在Matlab中,要计算矩阵A的行列式,可以使用______函数。

答案:det(A)3.在Matlab中,若要计算变量x的平方,可以使用______运算符。

答案:.^24.在Matlab中,若要计算矩阵A的逆矩阵,可以使用______函数。

答案:inv(A)5.在Matlab中,要绘制一个正弦波形,可以使用______函数。

答案:plot(sin(x))三、判断题1.在Matlab中,矩阵的索引从1开始计数。

()答案:正确2.在Matlab中,可以使用逻辑运算符"&&"和"||"。

()答案:错误3.在Matlab中,矩阵乘法满足交换律。

MATLAB考试试题及答案

MATLAB考试试题及答案

MATLAB考试试题及答案一、选择题(每题5分,共25分)1. 在MATLAB中,下列哪个命令用于创建一个行向量?A. v = [1; 2; 3]B. v = [1 2 3]C. v = [1, 2, 3]D. v = (1, 2, 3)答案:B2. 在MATLAB中,下列哪个命令用于计算矩阵A的行列式?A. det(A)B. det(A')C. det(inv(A))D. det(A^2)答案:A3. 在MATLAB中,下列哪个命令用于计算矩阵A的逆?A. inv(A)B. A^(-1)C. pinv(A)D. A\B答案:A4. 在MATLAB中,下列哪个命令用于求解线性方程组Ax= b?A. A\bB. A/BC. B/AD. A^-1b答案:A5. 在MATLAB中,下列哪个命令用于绘制二维图形?A. plot(x, y)B. scatter(x, y)C. bar(x, y)D. pie(x, y)答案:A二、填空题(每题5分,共25分)6. 在MATLAB中,可以使用______命令创建一个等差数列。

答案:linspace7. 在MATLAB中,可以使用______命令创建一个等比数列。

答案:logspace8. 在MATLAB中,可以使用______命令计算矩阵A的特征值。

答案:eig(A)9. 在MATLAB中,可以使用______命令计算矩阵A的特征向量。

答案:eigenvector(A)10. 在MATLAB中,可以使用______命令计算矩阵A的奇异值。

答案:svd(A)三、解答题(每题25分,共75分)11. 编写MATLAB程序,求解以下线性方程组:2x + 3y - z = 1x - y + 2z = 03x + 2y - 4z = -3答案:```A = [2 3 -1; 1 -1 2; 3 2 -4];b = [1; 0; -3];x = A\b;disp('解为:');disp(x);```12. 编写MATLAB程序,绘制以下函数的图形:y = sin(x) + cos(x),x ∈ [0, 2π]答案:```x = linspace(0, 2pi, 100);y = sin(x) + cos(x);plot(x, y);title('y = sin(x) + cos(x)');xlabel('x');ylabel('y');grid on;```13. 编写MATLAB程序,计算以下矩阵的特征值和特征向量:A = [1 2 3; 4 5 6; 7 8 9]答案:```A = [1 2 3; 4 5 6; 7 8 9];[V, D] = eig(A);disp('特征值:');disp(diag(D));disp('特征向量:');disp(V);```14. 编写MATLAB程序,使用牛顿迭代法求解方程f(x) = x^3 - 4x + 2 = 0在x = 1附近的根。

matlab课后习题参考答案

matlab课后习题参考答案

Matlab课后习题部分参考答案习题二2.student=struct('name',{'zhang','wang','li'},'age',{18,21,[] },'email',{['zh ang@','zhang@'],'',''})5、a=[1 0 0;1 1 0;0 0 1];b=[2 3 4;5 6 7;8 9 10];c=[a b]d=[a;b]c =1 0 023 41 1 0 5 6 70 0 1 8 9 10d =1 0 01 1 00 0 12 3 45 6 78 9 1010、reshape(c,2,9)1 0 1 0 1 5 3 9 71 0 0 02 8 6 4 10 reshape(d,2,9)ans =1 0 5 0 0 6 0 1 71 2 8 1 3 9 0 4 10 (注意:重新排列矩阵,是将原来的矩阵按列排序)11、a.’12、a+b a.*ba\b (即inv(a)*b,考试时,要求能自己手算出a的逆)ans =2 3 43 3 38 9 1013、c=4*ones(3);a>=cb>=c14.strcat('The picture is ','very good')a=['The picture is ','very good']18.double('very good')1.norm(A),det(A),rank(A)2.b=[1 1 1 1 1];c=b';a=[17,24,1,8,50;23,5,7,14,49;4,6,13,20,43;10,12,19,21,62;11,18,25,2,56]; x=a\c习题四1、a=14*rand(1,10)-5;for i=1:9max=i;for j=i+1:10if a(j)>a(max)max=j;endendtemp=a(i);a(i)=a(max);a(max)=temp;enda将上述脚本保存为script41.m2、function y=function42(n)3*randn(1,n)+3;for i=1:n-1max=i;for j=i+1:nif a(j)>a(max)max=j;endendtemp=a(i);a(i)=a(max);a(max)=temp;endy=a;将上述函数保存为function42.m 3、r=input(‘please input 1/2: ’);if r= =1script41;elsen=input(‘please input the length: ’);y=funtion42(n);end4.function f=function1(x,y)if y==1f=sin(x);elseif y==2f=cos(x);elsef=sin(x).*cos(x);end在命令窗口调用函数f=function1(1,3) 5.function result=function3(x,n)result=0;for i=1:nresult=result+sin(x.*i)+(-1).^i.*cos(i.*x); endfunction result=function4(n,t)result=0;A=[1 2 3;0 1 2;0 0 1];for i=1:nresult=result+A*i.*exp(A*i.*t);end习题五3.x1=-2:0.01:2;x2=-2:0.01:2;y1=x1.*sin(x2);y2=x2.*cos(x1);plot3(x1,x2,y 1,'-d',x1,x2,y2,'-d')14、x=8*rand(1,100)-2;y=reshape(x,10,10);save mydata.mat yclearclcload mydatak=y>ones(10);totel=0;for i=1:100if k(i)==1totel=totel+1;endend15、x=rand(5); %生成5*5均匀分布的随机矩阵(该处只作举例,未按题目要求)fid=fopen(‘text.txt’,’w’);count=fwrite(fid,x,’int32’); closestatus=fclose(fid);清除内存,关闭所有窗口fid=fopen(‘text.txt’,’r’);x=fread(fid,[5,5],’int32’); closestatus=fclose(fid); inv(x)16.随便生成一个矩阵,x1=-1:0.2:0.8;x2=-1:0.2:0.8;y1=x1.*sin(x2);y2=x2.*cos(x1);a=reshape([y1;y2],10,10);fid=fopen('table.txt','w'); fprintf (fid,‘%f’,a); fclose(fid) ;清除内存,关闭所有窗口a=fscanf('table.txt','%f') ; exp(a) ;fclose(fid) ;习题六1.c=ploy2str(A);B=[2,0,0,1,3,5];2.x=1:10;B=ployval(A,x);。

matlab课后练习习题及答案详解

matlab课后练习习题及答案详解

matlab课后习题及答案详解第1章MATLAB概论与其余计算机语言对比较,MATLAB语言突出的特色是什么?MATLAB拥有功能强盛、使用方便、输入简捷、库函数丰富、开放性强等特色。

MATLAB系统由那些部分构成?MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。

安装MATLAB时,在选择组件窗口中哪些部分一定勾选,没有勾选的部分此后怎样补安装?在安装MATLAB时,安装内容由选择组件窗口中个复选框能否被勾选来决定,能够依据自己的需要选择安装内容,但基本平台(即MATLAB选项)一定安装。

第一次安装没有选择的内容在补安装时只要依据安装的过程进行,不过在选择组件时只勾选要补装的组件或工具箱即可。

MATLAB操作桌面有几个窗口?怎样使某个窗口离开桌面成为独立窗口?又怎样将离开出去的窗口从头搁置到桌面上?在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是封闭窗口的Close按钮,一个是能够使窗口成为独立窗口的Undock 按钮,点击Undock按钮就能够使该窗口离开桌面成为独立窗口,在独立窗口的view菜单中选择Dock,,菜单项就能够将独立的窗口从头防备的桌面上。

怎样启动M文件编写/调试器?在操作桌面上选择“成立新文件”或“翻开文件”操作时,M文件编写/调试器将被启动。

在命令窗口中键入edit命令时也能够启动M文件编写/调试器。

储存在工作空间中的数组能编写吗?怎样操作?储存在工作空间的数组能够经过数组编写器进行编写:在工作空间阅读器中双击要编写的数组名翻开数组编写器,再选中要改正的数据单元,输入改正内容即可。

命令历史窗口除了能够察看前方键入的命令外,还有什么用途?命令历史窗口除了用于查问从前键入的命令外,还能够直接履行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。

怎样设置目前目录和搜寻路径,在目前目录上的文件和在搜寻路径上的文件有什么差别?目前目录能够在目前目录阅读器窗口左上方的输入栏中设置,搜寻路径能够经过选择操作桌面的file菜单中的SetPath菜单项来达成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A(i,:)=[] %删去存在奇异值的行 运行结果(每次运行结果是不同的,仅作参考): A = 49.5355 -23.7550 -73.0269 -118.4354 39.3214 -88.4472 91.1482 -28.5962 -209.9855 21.2336 -74.0239 -9.5871 -15.8184 72.1322 22.0444 71.4429 11.0770 34.8948
[x,y]=meshgrid(-3:0.15:3); z=peaks(x,y); figure(1) plot3(x,y,z),grid on title('三维多峰函数')
5
Matlab 程序设计实验报告
三角函数多条曲线: 程序为: t=-pi:pi/20:pi; y1=sinh(t); %双曲正弦 y2=cosh(t); %双曲余弦 figure(1) subplot(2,1,1) plot(t,y1,'r--',t,y2,'k-'),grid on legend('\ity1=sinh(t)','\ity2=cosh(t)') title('三角函数1') xlabel('t'), ylabel('y') subplot(2,1,2) plot(t,sin(t),'k-'),grid on hold on %保持原有图像函数 plot(t,cos(t),'r--') legend('\ity2=cos(t)','\ity1=sin(t)') title('三角函数2') xlabel('t'), ylabel('y') 运行图形为:
5、画出函数 z=(x-2)2+(y-1.2)2+sin(xy)的三维曲线和网格曲线。 程序为: [x,y]=meshgrid(0:0.5:10); %为三维绘图产生x,y数据矩阵 z=(x-2).^2+(y-1.2).^2; figure(1) subplot(2,1,1) mesh(x,y,z),grid on %绘制网格曲线 title('网格曲线')
3、 将图形窗口分成两个, 分别绘制以下函数在[-3,3]区间上的曲线, 并利用 axis 调整轴刻度,
6
Matlab 程序设计实验报告
使他们具有相同缩放尺度。y1=2x+5; 程序为: x=-3:0.1:3; y1=2*x+5; y2=x.^2-3*x+1; figure(1) subplot(2,2,1) plot(x,y1,'r-'),grid on legend('\ity1=2*x+5') title('y1=2x+5') xlabel('x'), ylabel('y1') subplot(2,2,2) plot(x,y2,'k-'),grid on legend('\ity2=x.^2-3*x+1') title('y2=x^2-3x+1') xlabel('x'), ylabel('y2') subplot(2,2,3) plot(x,y1,'r-'),grid on legend('\ity1=2*x+5') title('调整后的y1=2x+5') axis([-3 3 -10 10]) xlabel('x'), ylabel('y1') subplot(2,2,4) plot(x,y2,'k-'),grid on legend('\ity2=x.^2-3*x+1') title('调整后的y2=x^2-3x+1') axis([-3 3 -10 10]) %调整坐标轴 xlabel('x'), ylabel('y2') 运行后的图形:
4
Matlab 程序设计实验报告
2、绘制多峰函数peaks和三角函数多条曲线。 多峰函数peaks: [x,y]=meshgrid(-3:0.15:3); z=peaks(x,y); x1=x(1,:); figure(1) plot(x1,z),grid on title('二维多峰函数') 图形为:
1、 解: if and(a<1,b<=0.5) 语句1; elseif and(a<1,b>0.5) 语句2; elseif and(a>=1,b<=0.5) 语句3; else 语句4; 2、 有一矩阵A,找出矩阵中值等于1的元素,并将它们重新排列成列向量B。 解: A=2*rand(4);
2
Matlab 程序设计实验报告
k=find(A<=1); A(k)=[];%删除下标为k的元素 B=A' 运行结果(每次运行结果是不同的,仅作参考) B = 1.4769 1.8348 1.5310 1.1524 1.3667 1.0932 1.2889 1.2952 1.3580 3、 在一测量矩阵A(100*3)中,存在有奇异值(假设大于100的置认为是奇异值),编程实 现删去奇异值所在的行。 解: A=120*randn(10,3); [i,j]=find(A>100);
0 0
3
Matlab 程序设计实验报告
0 0 0
操作后:A = 1 0 0 0
0 0 0
0 0 0
3 0 0
0 4 0
0 2 0 0
0 0 3 0
0 0 0 4
1、将窗口分割成四格,分别绘制正弦、余弦、正切和余切函数曲线,并加上适当的标注。 程序为: x=0:pi/50:2*pi; k=[1 26 51 76 101]; x(k)=[];%删除正切和余切的奇异点 figure(1) subplot(2,2,1) plot(x,sin(x),'k--'),grid on legend('\ity=sin(x)') title('y=sin(x)') xlabel('x'), ylabel('y') subplot(2,2,2) plot(x,cos(x),'r--'),grid on legend('\ity=cos(x)') title('y=con(x)') xlabel('x'), ylabel('y') subplot(2,2,3) plot(x,tan(x),'k'),grid on legend('\ity=tan(x)') title('y=tan(x)') xlabel('x'), ylabel('y') subplot(2,2,4) plot(x,cot(x),'b-'),grid on legend('\ity=cot(x)') title('y=cot(x)') xlabel('x'), ylabel('y') 运行如下:
部分数据结果: A = 2.4000 -0.1000 -4.6000 4.2000 2.7000 -3.3000
1
Matlab 程序设计实验报告
-0.5000 3.5000
-0.4000 4.2000
4、编程实现当t∈[-π,π],间隔为1°时求解正弦和余弦值。 解: t=(-1*pi:1/180:pi); y1=sin(t) y2=cos(t) 部分数据结果: Columns 10 through 18(y1) -0.0500 -0.0555 -0.0611 -0.0666 -0.0888 -0.0943 -0.0722 -0.0777 -0.0832
5、利用rand函数产生(0,1)间的均匀分布的10*10随机矩阵A,然后统计A中大于等于0.6的 元素的个数。 解: A=rand(10); B=A >= 0.6; C=sum(B); count=sum(C) 运行结果(每次运行结果是不同的,仅作参考): count=32 6、利用randn函数产生均值为0,方差为1的10*10随机矩阵A,然后统计A中大于-0.5且小于0.5 的元素的个数。 解: A=randn(10); B=(A<0.5)&(A>-0.5); C=sum(sum(B)) 运行结果(每次运行结果是不同的,仅作参考):C=48
9
Matlab 程序设计实验报告
1、将图形窗口分成两个,分别绘制正割和余割曲线,并加上标注。 程序为: x1=0:pi\10:2*pi; figure(1) subplot(2,1,1) plot(x,sec(x),'k-'),grid on legend('\ity=sec(x)') title('y=sec(x)') xlabel('x'), ylabel('y') subplot(2,1,2) plot(x,csc(x),'k-'),grid on legend('\ity=csc(x)') title('y=csc(x)') xlabel('x'), ylabel('y') 运行后图形为:
8
Matlab 程序设计实验报告
subplot(2,1,2) plot3(x,y,z),grid on title('三维曲线') 运行后的图形:
相关文档
最新文档