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是一种强大的数学软件工具,广泛应用于工程、科学和计算领域。
它具有丰富的功能和灵活的编程语言,使得用户可以轻松地进行数据分析、可视化、模拟和算法开发。
在学习MATLAB的过程中,习题是一个很好的学习方法,通过练习可以加深对MATLAB的理解和掌握。
下面是一些MATLAB入门习题的答案,希望对初学者有所帮助。
1. 编写一个MATLAB程序,计算1到100之间所有奇数的和。
```matlabsum = 0;for i = 1:2:100sum = sum + i;enddisp(sum);```2. 编写一个MATLAB程序,计算一个矩阵的转置矩阵。
```matlabA = [1 2 3; 4 5 6; 7 8 9];B = A';disp(B);```3. 编写一个MATLAB程序,生成一个包含1到10的整数的向量,并计算向量中所有元素的平均值。
```matlabvec = 1:10;avg = mean(vec);disp(avg);```4. 编写一个MATLAB程序,绘制正弦函数的图像。
```matlabx = 0:0.1:2*pi;y = sin(x);plot(x, y);```通过以上习题的练习,相信大家对MATLAB的基本语法和功能有了更深入的了解。
当然,MATLAB的学习是一个持续的过程,希望大家能够坚持练习,不断提升自己的编程能力。
同时,也欢迎大家分享更多的MATLAB习题答案,让我们一起学习进步。
matlab习题及答案
matlab习题及答案2. ⽤MATLAB 语句输⼊矩阵A 和B3.假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数⾏提取出来,赋给B 矩阵,⽤magic(8)A =命令⽣成A 矩阵,⽤上述命令检验⼀下结果是不是正确。
4.⽤数值⽅法可以求出∑=++++++==6363622284212i i S ,试不采⽤循环的形式求出和式的数值解。
由于数值⽅法是采⽤double 形式进⾏计算的,难以保证有效位数字,所以结果不⼀定精确。
试采⽤运算的⽅法求该和式的精确值。
5.选择合适的步距绘制出下⾯的图形。
(1))/1sin(t ,其中)1,1(-∈t ;(2))tan(sin )sin(tan t t -,其中),(ππ-∈t6. 试绘制出⼆元函数2222)1(1)1(1),(yx yx y x f z ++++-==的三维图和三视图7. 试求出如下极限。
(1)xxxx 1)93(lim +∞→;(2)11lim0-+→→xy xy y x ;(3)22)()cos(1lim222200y x y x ey x y x +→→++-8. 已知参数⽅程-==tt t y t x sin cos cos ln ,试求出x y d d 和3/22d d π=t x y9. 假设?-=xyt t e y x f 0d ),(2,试求222222y fy x f x f y x ??+-?? 10. 试求出下⾯的极限。
(1)-++-+-+-∞→1)2(1161141121lim 2222n n ;(2))131211(lim 2222ππππn n n n n n n ++++++++∞→ 11. 试求出以下的曲线积分。
(1)?+ls y x d )(22,l 为曲线)sin (cos t t t a x +=,)cos (sin t t t a y -=,)20(π≤≤t 。
(2)?-+++ly y y xe x e yx )dy 2(xy d )(33,其中l 为22222c y b x a =+正向上半椭圆。
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的矩阵。
matlab课后习题答案(1-9章)
1 数字1.5e2,1.5e3 中的哪个与1500相同吗?1.5e32 请指出如下5个变量名中,哪些是合法的?abcd-2xyz_33chan a 变量ABCDefgh 2、5是合法的。
3 在MATLAB 环境中,比1大的最小数是多少? 1+eps4 设 a = -8 , 运行以下三条指令,问运行结果相同吗?为什么?w1=a^(2/3) w2=(a^2)^(1/3) w3=(a^(1/3))^2w1 = -2.0000 + 3.4641i ;w2 = 4.0000 ;w3 =-2.0000 + 3.4641i 5 指令clear, clf, clc 各有什么用处?clear 清除工作空间中所有的变量。
clf 清除当前图形。
clc 清除命令窗口中所有显示。
第二章1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?3/7+0.1双; sym(3/7+0.1)符; sym('3/7+0.1') 符;; vpa(sym(3/7+0.1)) 符;2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') symvar(sym('sin(w*t)'),1) w a z3 (1)试写出求三阶方程05.443=-x 正实根的程序。
注意:只要正实根,不要出现其他根。
(2)试求二阶方程022=+-a ax x 在0>a 时的根。
(1)reset(symengine)syms x positive solve(x^3-44.5) ans =(2^(2/3)*89^(1/3))/2(2)求五阶方程022=+-a ax x 的实根 syms a positive %注意:关于x 的假设没有去除 solve(x^2-a*x+a^2)Warning: Explicit solution could not be found. > In solve at 83 ans =[ empty sym ]syms x clear syms a positivesolve(x^2-a*x+a^2) ans =a/2 + (3^(1/2)*a*i)/2 a/2 - (3^(1/2)*a*i)/24 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。
matlab基础练习题及答案
matlab基础练习题及答案第1章MATLAB基础1.4MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?答:在MATLAB操作桌面上有五个窗口。
在每个窗口的右上角有两个小按钮,一个是关闭窗口的Cloe按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口。
在独立窗口的Dektop菜单中选择Dock...项就可以将独立的窗口重新放置到桌面上。
1.5如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。
在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。
1.6存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。
1.7命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。
1.8如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的SetPath菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
1.9在MATLAB中有几种获得帮助的途径?答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help 菜单中的MATLABHelp菜单项可以打开帮助浏览器。
matlab教材习题答案
matlab教材习题答案Matlab是一种广泛应用于科学与工程领域的计算机编程语言和环境。
它具备强大的数值计算和数据可视化功能,被广泛用于数据分析、信号处理、图像处理、机器学习等领域。
对于初学者而言,掌握Matlab的基本语法和常用函数是非常重要的,而教材习题则是帮助学生巩固所学知识的重要资源。
本文将为大家提供一些Matlab教材习题的参考答案,以帮助读者更好地学习和应用Matlab。
1. 基本语法练习题1.1 计算并输出1到10的平方for i = 1:10fprintf('%d的平方是:%d\n', i, i^2);end1.2 计算并输出1到10的阶乘for i = 1:10fact = 1;for j = 1:ifact = fact * j;endfprintf('%d的阶乘是:%d\n', i, fact);end2. 数值计算练习题2.1 求解一元二次方程的根a = 1;b = -3;c = 2;delta = b^2 - 4*a*c;x1 = (-b + sqrt(delta))/(2*a);x2 = (-b - sqrt(delta))/(2*a);fprintf('一元二次方程的根为:%f, %f\n', x1, x2);2.2 求解线性方程组的解A = [1 2; 3 4];B = [5; 6];X = inv(A) * B;fprintf('线性方程组的解为:%f, %f\n', X(1), X(2));3. 数据处理练习题3.1 统计一个数组中的最大值、最小值和平均值data = [1, 2, 3, 4, 5];max_value = max(data);min_value = min(data);average_value = mean(data);fprintf('最大值:%f\n最小值:%f\n平均值:%f\n', max_value, min_value, average_value);3.2 对一个矩阵进行排序matrix = [4 2 3; 1 5 6; 9 8 7];sorted_matrix = sort(matrix);fprintf('排序后的矩阵为:\n');disp(sorted_matrix);4. 图像处理练习题4.1 读取并显示一张图片image = imread('image.jpg');imshow(image);4.2 对一张图片进行灰度化处理gray_image = rgb2gray(image);imshow(gray_image);5. 信号处理练习题5.1 生成并绘制正弦信号t = 0:0.01:2*pi;x = sin(t);plot(t, x);5.2 对一段音频信号进行傅里叶变换[y, fs] = audioread('audio.wav');Y = fft(y);plot(abs(Y));通过以上几个例子,我们可以看到Matlab的强大功能和灵活性。
matlab简单编程21个题目及答案
1、设⎥⎦⎤⎢⎣⎡++=)1(sin35.0cos2xxxy,把x=0~2π间分为101点,画出以x为横坐标,y为纵坐标的曲线。
第一题的matlab源程序:①考虑cos(x)为一个整体,然后乘以中括号里面的全部x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x).*(0.5+3*sin(x)./(1+x.^2)); %y的表达式plot(x,y)%画出图形图如下:②考虑对整体求解cos,先求x乘以括号中的部分x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x.*(0.5+3*sin(x)./(1+x.^2))); %y的表达式plot(x,y) %画出图形图如下:2、产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。
并求该矩阵全体数的平均值和均方差。
第二题的matlab源程序如下:R1=randn(8,6) %产生正态分布随机矩阵R1 =1.0933 -0.7697 1.5442 -0.1924 1.4193 0.21571.1093 0.3714 0.0859 0.8886 0.2916 -1.1658-0.8637 -0.2256 -1.4916 -0.7648 0.1978 -1.14800.0774 1.1174 -0.7423 -1.4023 1.5877 0.1049-1.2141 -1.0891 -1.0616 -1.4224 -0.8045 0.7223-1.1135 0.0326 2.3505 0.4882 0.6966 2.5855-0.0068 0.5525 -0.6156 -0.1774 0.8351 -0.66691.5326 1.1006 0.7481 -0.1961 -0.2437 0.1873aver=(sum(R1(1:end,1:end)))./8 %产生各行的平均值aver =0.0768 0.1363 0.1022 -0.3473 0.4975 0.1044a=std(R1(1:end,1:end)) %产生各行的均方差也就是标准差a =1.0819 0.8093 1.3456 0.8233 0.8079 1.2150aver1=(sum(R1(:)))./48 %全体数的平均值aver1 =0.0950b=std(R1(:)) %全体数的均方差即标准差b =1.01033、设x=rcost+3t,y=rsint+3,分别令r=2,3,4,画出参数t=0~10区间生成的x~y 曲线。
(完整版)matlab基础练习题(带答案)
Matlab 基础练习题常量、变量、表达式1、 MATLAB 中,下面哪些变量名是合法的?( )(A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。
(A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( )(A )eps (B )none (C )zero (D )exp4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。
( 错,都是2个字节 )5、 判断:MA TLAB 中,i 和j ( 对 )6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。
( 错,后面还有很多位小数 )7、 在MA TLAB 中,若想计算的51)3.0sin(21+=πy 值,那么应该在MA TLAB 的指令窗中输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。
8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字节。
9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。
数组1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序的逆序排列输出,应该使用下面的( )指令。
(A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB的命令是( )。
(A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A)3、 在MATLAB 中,用指令x=1:9生成数组x 。
matlab练习题及答案
一、填空题(本题满分30分,每空3分)1.设有程序A=[2,0,1,0;1,0,1,5;0, 6 ,2, 3];B=[1,2,-1;1,3,1];C=A(1:3,[1,2]); D=size(C)- length(B(2,:));F= C.*B ’ 将下列命令的运行结果填在横线上 D = ; F= .2. A=[2,3,2,1;1,2,2,1; 1,2,3,-2];A1=sum(A>A(2,1));A(2,:)=[],A2=A.^2-4A1= ; A2= ;3.P=[1,2,5,4;2,2,1,3];max(P ,[ ],1)= ;mean(P ,2)= .二、(本题满分10分)试编写计算程序画出曲线与曲面图形.22,22,)1((2).);20(cos sin (1).223322≤≤-≤≤-++=≤≤⎪⎩⎪⎨⎧==--y x y x exz t ty t x yx π%1 %2t=0:0.1: 2*pi; [x,y]=meshgrid(-2:0.1:2);x= sin(t).^3; z=(x.^2+1).* exp(-x.^2- y.^2+)+x .^2.*y; y= cos (t).^3; mesh(x,y ,z) plot(x,y)三、(本题满分12分)编写程序解决下列问题:(1)试产生100⨯4阶矩阵使其元素在0—100之间的随机整数,可将此矩阵理解为100名同学的四门课程(课程1, 课程2, 课程3, 课程4)的成绩. (2)计算出每门课程和每位同学的平均成绩; (3)统计出总的优秀人次(90分及以上为优秀);(4)统计出四门课程成绩至少有两门课程不及格的人数. 解:(1) a=fix((100-0+1)*rand(100,4));(2) mean(a) mean(a,2) (3)sum(sum(a>=90,2)==4) (4)sum(sum(a<60,2)>=2)四、(本题满10分)).50,20(]2,0[)2()),(1:(;)1(,sin )1()(11==-=∑=+n n x fun y functionkx kx f nk k 分别取内图形用子图画出该函数在程序的第一句为返回该函数并保存试编写函数式文件程序设π(1). function y=fun1(x,n) (2). x=0:0.1:2*pi; y=0; y1= fun1 (x,20); for k=1:n y2= fun1 (x,50);y=y+ ((-1)^(k+1)*sin(k*x))/k; subplot(2,1,1),plot(x,y1) end subplot(2,1,2),plot(x,y2) y五、(本题满分10分)试利用微分方程的数值解法写出下列微分方程的求解步骤和MA TLAB 程序. 0)0(,2)0(,3='==-'+''x x t x x t x .(t 的变化区间为[0,10]). 第一步:先将高阶微分方程转化为一阶微分方程组: 选择状态变量x x x x ='=21,,则原方程化为2)0(,0)0(.,32112211==⎩⎨⎧='++-='x x x x t x tx x第二步:建立函数文件 function dxdt = fun2(t,x)dxdt = [-3*t*x(1)+ x(2)+t; x(1)];第三步:求解微分方程,命令如下: [t,x]=ode45(@fun2,[0,10],[0;2]);)(cos cos lim.3;,)(,,1ln sin .2;2.1:,sin 022x ex x x A dx x A dxdA x s e x x x A xe、xx xx--⎥⎥⎦⎤⎢⎢⎣⎡+=+=→-⎰计算极限并计算生成符号矩阵的根求方程下列各题运用符号运算功能计算六的解函数求解微分方程用1)0()0()0()0(,2.4)4(='''=''='==+x x x x e x xdsolve t5.求级数之和+++++++1117110151212n六、参考程序:1. solve('exp(x)=x^2+2')2.syms x sA=[x*sin(x),log(x);exp(-x),1/(s+x)] diff(A) int(A) A*A 3.syms xlimit((cos(x)-cos(x)^(1/2))/x/(exp(sin(x))-1))4.dsolve('D4x+x=2*exp(t)','x(0)=1','Dx(0)=1','D2x(0)=1','D3x(0)=1') 5.syms n;s=symsum(1/(n^2+1),1,inf)⎪⎩⎪⎨⎧=-++=--++03320224:.2122212212221x x x x x x x x x fsolve 组求解下面的非线性方程函数以及符号运算功能用七解一:function y=fc(x)y(1)=4*x(1).^2+x(2).^2+2*x(1).*x(2)-x(2)-2 y(2)=2*x(1).^2+x(2).^2+3*x(1).*x(2)-3 y=[y(1) y(2)];x0=[1 1]; fsolve(@fc,x0)解二: syms x1 x2[x1 x2]=solve(‘4*x1^2+ x2^2+2* x1* x2- x2-2=0’,’ 2*x1^2+ x2^2+3* x1* x2-3=0’,’ x1’,’ x2’)八.已知1000,2141211=++++=n ny ,分别用for 循环和直接用sum 计算y的值,写出程序. (1)y=1;for i=1:1000; y=y+1/(2*i); end y(2)i=1:1000;y=1+sum(1./(2*i))九、下列这组数据是美国1900—2000年人口的近似值(单位:百万)。
matlab试题及答案开卷
matlab试题及答案开卷1. MATLAB基础操作在MATLAB中,如何创建一个名为“myMatrix”的3x3矩阵,其元素从1到9按顺序排列?答案:在MATLAB中,可以使用以下命令创建名为“myMatrix”的3x3矩阵:```matlabmyMatrix = [1 2 3; 4 5 6; 7 8 9];```或者使用内置函数`magic`:```matlabmyMatrix = magic(3);```2. 矩阵运算给定两个矩阵A和B,其中A = [2 3; 4 5],B = [6 7; 8 9],计算A+B的结果。
答案:在MATLAB中,可以使用加号`+`来计算两个矩阵的和:```matlabA = [2 3; 4 5];B = [6 7; 8 9];C = A + B;```计算结果C为:```matlabC = [8 10; 12 14];```3. 向量操作创建一个从0到1的等差数列,步长为0.1。
答案:在MATLAB中,可以使用`linspace`函数或`:`操作符来创建等差数列:```matlabv = 0:0.1:1;```或者使用`linspace`函数:```matlabv = linspace(0, 1, 11);```两种方法都将得到一个包含11个元素的向量,从0开始,到1结束,步长为0.1。
4. 条件语句编写一个MATLAB脚本,判断一个给定的数n是否为素数。
答案:可以通过以下MATLAB脚本来判断一个数n是否为素数:```matlabfunction isPrime = isPrimeNumber(n)if n <= 1isPrime = false;elsefor i = 2:sqrt(n)if mod(n, i) == 0isPrime = false;return;endendisPrime = true;endend```调用此函数时,传入一个数值n,函数将返回一个布尔值,表示n 是否为素数。
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循环两种循环结构。
matlab课后习题答案1到6章
欢迎共阅习题二1.如何理解“矩阵是MATLAB 最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。
(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’); 或E 。
答:B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4);E=B*C;(2) 分别求E<D 、E&D 、E|D 、~E|~D 和find(A>=10&A<25)。
答:E<D=010001⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,E&D=110111⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,11⎡⎤⎢⎥答:student(1).id='0001';student(1).name='Tom'; student(1).major='computer';student(1).grade=[89,78,67,90,86,85]; 8.建立单元矩阵B 并回答有关问题。
B{1,1}=1;B{1,2}='Brenden';B{2,1}=reshape(1:9,3,3); B{2,2}={12,34,2;54,21,3;4 ,23,67};(1)size(B)和ndims(B)的值分别是多少?答:size(B) 的值为2, 2。
ndims(B) 的值为2。
(2)B(2)和B(4)的值分别是(2)建立5×6随机矩阵A,其元素为[100,200]范围内的随机整数。
MATLAB习题参考答案
第1章 MATLAB简介1、MA TLAB的主要特点有:①语言简洁,编程效率高。
②人机界面友善,交互性好。
③绘图功能强大,便于数据可视化。
④学科众多、领域广泛的MATLAB工具箱。
⑤源程序的开放性。
MATLAB的典型应用领域有:①自动控制②汽车③电子④仪器仪表⑤生物医学⑥信号处理⑦通信等。
2、填空题⑴命令窗口、命令历史窗口、当前目录窗口⑵查阅、保存、编辑⑶清除图形窗、清除命令窗口中显示内容、清除MATLAB工作空间中保存的变量。
3、如果想查看某一变量具体内容或者对其修改操作,可以在工作空间中双击该变量名称,可以打开数组编辑器,在数组编辑器中可以查看变量的具体内容,也可以对其修改。
如果想删除MATLAB内存中的变量,可以在工作空间中选中该变量,然后利用工作空间窗口的菜单命令或工具条中的快捷图标进行删除。
4、1+2+3+4+5+... (+ 后面可以直接跟...,也可以在+和...中加一个空格。
)6+7+8+91+2+3+4+5 ... (5后面必须跟一个空格,不能直接跟...,否则报错,这在预置一个+6+7+8+9 大数组时很重要。
)第2章矩阵与数值数组1、填空题:⑴非数、无穷大、机器零阈值,浮点数相对精度,eps= 2.2204e-016。
⑵全下标、单下标。
2、阅读程序题:(本题主要考察数组的寻访、赋值和简单运算,提示:带;的语句不显示结果)⑴ans =2 3 7Sa =102030A =1 20 5 30 910 4 6 8 10⑵ A =1 3 5 7 9 11 13 152 4 6 8 10 12 14 16ans =1 5 9 132 6 10 143 7 11 154 8 12 16A =0 0 5 7 0 0 13 152 4 0 0 10 12 0 0⑶ ans =-1 -46 4ans =3 05 -2ans =3 69 12ans =3 69 123、A=magic(4);L=A<10L =0 1 1 01 0 0 11 1 1 01 0 0 14、省略。
MATLAB基础训练作业(含答案)
实验一 MATLAB 工作环境熟悉及简单命令的执行一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。
二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单(Menu )、工具条 (Toolbar )、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。
三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌面。
2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。
(1)(365-522-70)3(2)>>area=pi*^2(3)已知x=3,y=4,在MATLAB 中求z :()232y x y x z -= (4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。
m1=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡11514412679810115133216 执行以下命令>>m1( 2 , 3 )>>m1( 11 )>>m1( : , 3 )>>m1( 2 : 3 , 1 : 3 )>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1)(5)执行命令>>help abs查看函数abs 的用法及用途,计算abs( 3 + 4i )(6)执行命令>>x=0::6*pi;>>y=5*sin(x);>>plot(x,y)(6)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。
四、思考题1、以下变量名是否合法为什么(1)x2(2)3col(3)_row(4)for2、求以下变量的值,并在MATLAB 中验证。
MATLAB平时练习题(附答案)
一、填空题1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
二、简述下列命令在MATLAB中的作用1.clf %清除图对象clear %清除工作空间内的所有变量clc %清除当前屏幕上显示的所有内容,但不清除工作空间中的数据2.ceil %沿+∞方向取整factor %符号计算的因式分解3.sph2cart %球坐标变为直角坐标pow2 %2的幂4.digits(d) %设置当前的可变算术精度的位数为整数 d 位vpa(pi,100) %设置当前pi的小数位数为1005.box on %打开框状坐标轴开grid off %网格关6.logspace %对数分度向量cat %串接成高维数组7.sym2poly %符号多项式转变为双精度多项式系数向量poly2sym %双精度多项式系数转变为向量符号多项式8.plot3 %三维线图poly2str %以习惯方式显示多项式9.bar %二维直方图pie %二维饼图10.zoom on %打开图形缩放模式 edit %M文件编辑11.whos %对当前工作空间变量的信息进行列表figure %生成图形窗口12.cart2sph %直角坐标变为球坐标pol2cart % 极或柱坐标变为直角坐标13.diff %数值差分、符号微分14.ezplot3 %画三维曲线的简捷指令fix %向零取整factor %符号计算的因式分解三简答题1.叙述MATLAB的主要窗口包括哪些?其作用是什么?命令窗口(Commend Window)——供输入命令,实现计算或绘图功能。
MATLAB习题及答案
填空题1. MATLAB于1984年由美国Mathworks公司推出,其后每年更新(两次。
2. MATLAB是一种以(矩阵)运算为基础的交互式程序设计语言。
3. MATLAB具有卓越的数值计算能力和符号计算、文字处理、可视化建模仿真和实时控制等众多功能,其每个变量代表一个(矩阵),每个元素都看作(复数)。
4.通过命令(help)、(lookfor),可以查找所有命令或函数的使用方法。
5.执行语句a=1:2:10,得到的一维数组是(1 3 5 7 9).6.执行语句b=linspace(1,10,10)后,一维数组b包含(10)个元素,最大值是10)7.函数rem()的功能是取(余)数。
8.若p=[1 0 0;1 1 0],则p|〜p=([1 1 1;1 1 1]).(注:填空时请用本题的p的方式表示结果)9.若p=[1 0 0;1 1 0],则all(p)=([1 0 0]).10.矩阵的加减运算,要求相加减的矩阵阶数相同。
若A=[1 2 3 4;2 3 1 8],则执行语句:[n,m]=size(A),则n=(2 ),m=(4 ).11.对于一维矩阵,求其长度的函数是(length()).12.数组和数组之间的运算,尤其是对于乘除运算和乘方运算,如果采用点方式进行计算,表明是数组的(元素)之间的运算关系。
13.求矩阵运算A*B时,要求在维度上,A的(列)数与B的(行)数相等。
二、判断题1.MATLAB只有一种数据类型,一种标准的输入输出语句,不需编译,可直接运行。
(对2.MATLAB的特殊常量是一些预选定义好的数值变量。
(对3.MATLAB变量名不区分大小写。
(错4.i是特殊常量。
(对5.NAN是非数。
(对6.MATLAB中所有的变量都表示一个矩阵或一个向量。
(对7.MATLAB中变量不需要先定义后使用,会自动根据实际赋值的类型对变量类型进行定义。
(对8.clc命令可以从内存中删除一个、多个和所有变量。
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 上机练习题答案1.计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积>〉 a=[6 9 3;2 7 5]; 〉〉 b=[2 4 1;4 6 8]; 〉〉 a 。
*b ans =12 36 3 8 42 402。
对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
〉〉 A=[4 9 2;7 6 4;3 5 7]; 〉> B=[37 26 28]’; >〉 X=A\B X = -0.5118 4.0427 1.33183。
⎥⎦⎤⎢⎣⎡-=463521a ,⎥⎦⎤⎢⎣⎡-=263478b ,观察a 与b 之间的六种关系运算的结果 >〉 a=[1 2 3;4 5 6]; 〉> b=[8 –7 4;3 6 2]; >〉 a 〉b ans =0 1 0 1 0 1 〉> a 〉=b ans =0 1 0 1 0 1 >> a 〈b ans =1 0 1 0 1 0 〉> a<=b ans =1 0 1 0 1 0 >〉 a==b ans =0 0 0 0 0 0 〉〉 a~=b ans =1 1 1 1 1 14计算多项式乘法(x 2+2x +2)(x 2+5x +4)>> c=conv ([1 2 2],[1 5 4]) c =1 7 16 18 8 5计算多项式除法(3x 3+13x 2+6x +8)/(x +4) 〉〉 d=deconv ([3 13 6 8],[1 4]) d =3 1 26求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解〉〉 a=[2 4 7 4;9 3 5 6]; 〉> b=[8 5]’; 〉> x=pinv (a )*b x =—0.2151 0.4459 0。
MATLAB习题参考答案(胡良剑
第一章 MATLAB 入门4、求近似解解:>> x=-2:0.05:2;y=x.^4-2.^x两个近似解:y1=f(-0.85)= -0.0328; y2=f(1.250)= 0.0630第二章 MATLAB 编程与作图1、 设x 是数组,求均值和方差解:函数文件如下:function [xx,s]=func1(x)n=length(x);xx=sum(x)/n;s=sqrt((sum(x.^2)-n*xx^2)/(n-1));命令窗口:>> x=[1 2 3 4 5];[xx,s]=func1(x)2、求满足的最小m 值 100)1ln(0>+∑=m n n s=0;n=0;while(s<=100)s=s+log(1+n);n=n+1;endn,s3、用循环语句形成Fibonacci 数列,....4,3,,12121=+===−−k F F F F F k k k 。
并验证极限2511+→−k k F F (提示:计算至两边误差小于精度1e-8为止) 解: 求Fibonacci 数列的函数文件:function f=fun(n)if n<=2f=1;elsef=fun(n-1)+fun(n-2);end验证极限的函数文件:function [k,a]=funTest(e)a=abs(1-(1+sqrt(5))/2);k=2;while(a>e)k=k+1;a=abs(fun(k)/fun(k-1)-(1+sqrt(5))/2);end命令行:>> [k,a]=funTest(10^-8)k =21a =9.7719e-009或者M 文件如下:clear; F(1)=1;F(2)=1;k=2;x=0;e=1e-8; a=(1+sqrt(5))/2;while abs(x-a)>ek=k+1; F(k)=F(k-1)+F(k-2); x=F(k)/F(k-1);enda,x,k4、分别用for 和while 循环结构编写程序,求出∑==610123i i K ,并考虑一种避免循环语句的程序设计,比较各种算法的运行时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
a.*bans =12 36 3 8 42 402, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
inv(a)*bans =-0.5118 4.0427 1.33183, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。
a.*aans =1 4 9 16 25 36 49 64 81>> a^2ans =30 36 42 66 81 96 102 126 1504, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。
(应用sin,cos,tan.cot) >> sin(x./pi)ans =-0.1242 0.9826 0.2465>> cos(x./pi)ans =-0.9923 -0.1857 0.9692>> tan(x./pi)ans =0.1252 -5.2915 0.2543>> cot(x./pi)ans =7.9894 -0.1890 3.93215, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4⨯3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574 [reshape(a,4,1),reshape(b,4,1),reshape(c,4,1)]ans =4 75 5 86 2 1 97 3 2(2)按照a 、b 、c 的列顺序组合成一个行矢量,即[]272548716953[reshape(a,1,4),reshape(b,1,4),reshape(c,1,4)]ans =4 5 2 7 7 8 1 3 5 6 9 26,将(x-6)(x-3)(x-8)展开为系数多项式的形式。
(应用poly,polyvalm)expand((x-6)*(x-3)*(x-8))ans =x^3-17*x^2+90*x-144法二:p=[6 3 8]p =6 3 8>> p1=poly(p)p1 =1 -17 90 -144>> pp=poly2str(p1,'x')pp =x^3 - 17 x^2 + 90 x - 1447,求解多项式x3-7x2+2x+40的根。
(应用roots)a=[1 -7 2 40]a =1 -72 40>> roots(a)ans =5.00004.0000-2.00008, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。
(应用poly,polyvalm) p=[1 2 3 4] p =1 2 3 4>> p1=poly(p) p1 =1 -10 35 -50 24 polyval(p1,8)ans =8409, 计算多项式9514124234++--x x x x 的微分和积分。
(应用polyder,polyint ,poly2sym) p=[4 -12 -14 5 9];polyder(p) polyint(p)ans =16 -36 -28 5ans =0.8000 -3.0000 -4.6667 2.5000 9.0000 010, 解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡66136221143092x 。
(应用x=a\b)a\bans =7.4000 -0.2000 -1.400011, 求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解。
(应用pinv) a =2 4 7 4 93 5 6>> b=[8;5] b =8 5 x=a\b x =-0.0943 0 1.1698 0>> pinv(x)ans =-0.0685 0 0.8493 012, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。
(应用det,inv)det(a)ans =-64>> inv(a)ans =-0.4531 0.6562 -0.59370.7969 -0.8437 0.9062 -0.2031 0.1562 -0.0937 13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。
(应用max,min,mean,std) x=0:0.02*pi:2*pi; y=max(sin(x)) y = 1y=min(sin(x)) y =-1y=mean(sin(x)) y =2.2995e-017 > y=std(sin(x)) y =0.707114, 参照课件中例题的方法,计算表达式()22e 1053y x y x z ---=的梯度并绘图。
(应用meshgrid, gradient,contour, hold on, quiver)15, 用符号函数法求解方程a t 2+b*t +c=0。
(应用solve) solve('a*t^2+b*t+c','t') ans =1/2/a*(-b+(b^2-4*a*c)^(1/2)) 1/2/a*(-b-(b^2-4*a*c)^(1/2))16, 用符号计算验证三角等式:(应用syms,simple)17, 求矩阵⎥⎦⎤⎢⎣⎡=22211211a a a a A 的行列式值、逆和特征根。
(应用syms,det,inv,eig) syms a11 a12 a21 a22>> a=[a11 a12;a21 a22] a =[ a11, a12] [ a21, a22]>> det(a) ans =a11*a22-a12*a21>> inv(a) ans =[ a22/(a11*a22-a12*a21), -a12/(a11*a22-a12*a21)] [ -a21/(a11*a22-a12*a21), a11/(a11*a22-a12*a21)]>> eig(a) ans =1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2) 1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)18, 因式分解:6555234-++-x x x x (应用syms, factor) ans = x ans =(x-1)*(x-2)*(x-3)*(x+1)19, ⎥⎥⎦⎤⎢⎢⎣⎡=)sin()log(12x x ex x af ax ,用符号微分求df/dx 。
(应用syms,diff) syms exp a xf=[a x^2 1/x;exp^a*x log(x) sin(x)] f =[ a, x^2, 1/x] [ exp^a*x, log(x), sin(x)]>> diff(f) ans =[ 0, 2*x, -1/x^2] [ exp^a, 1/x, cos(x)]20, 符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t 的变化范围为[0,2π]。
(应用syms,ezplot)syms tezplot(sin(3*t)*cos(t),sin(3*t)*sin(t),[0,2*pi])21, 绘制曲线13++=x x y ,x 的取值范围为[-5,5]。
(应用plot)clear x=-5:0.01:5; y=x.^3+x+1; plot(x,y)法二:ezplot ('x^3+x+1',[-5,5])22, 有一组测量数据满足-at e =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,在图中添加标题-at e =y ,并用箭头线标识出各曲线a 的取值,并添加标题-at e =y 和图例框。
(应用plot,title,text,legend)>> t=0:0.5:10;>> y1=exp(-0.1*t); >> y2=exp(-0.2*t); >> y3=exp(-0.5*t);>> plot(t,y1,'-ob',t,y2,':*r',t,y3,'-.^g')23,表中列出了4个观测点的6次测量数据,将数据绘制成为分组形式和堆叠形式的条形图。
第1次 第2次 第3次 第4次 第5次 第6次 观测点1 3 6 7 4 2 8 观测点2 6 7 3 2 4 7 观测点3 9 7 2 5 8 4 观测点4643274> y=[3 6 9 6;6 7 7 4;7 3 2 3;4 2 5 2;2 4 8 7;8 7 4 4]; >> bar(y)24, x= [66 49 71 56 38],绘制饼图,并将第五个切块分离出来。
x=[66 49 71 56 38] x =66 49 71 56 38>> pie(x)>> l=[0 0 0 0 1] l =0 0 0 0 1>> pie(x,l)25, 用sphere 函数产生球表面坐标,绘制不通明网线图、透明网线图、表面图和带剪孔的表面图。
(应用sphere, mesh, hidden off, surf, NaN)26, 编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
27, 有传递函数如下的控制系统,用Simulink 建立系统模型,并对系统的阶跃响应进行仿真。
841)(2++=s s s G27, 建立一个简单模型,用信号发生器产生一个幅度为2V 、频率为0.5Hz 的正弦波,并叠加一个0.1V 的噪声信号,将叠加后的信号显示在示波器上并传送到工作空间。
28 建立一个模拟系统,将摄氏温度转换为华氏温度(T f = 9/5T c +32)。
f=input('Input Fahrenheit temperature :'); c=5*(f-32)/9然后在Matlab 命令窗口输入华氏温度答案:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。