MATLAB基础训练作业(含答案)
MATLAB作业1 参考答案
MATLAB 作业1参考答案1 、在你的机器上安装MATLAB 语言环境,并键入demo 命令,由给出的菜单系统和对话框原型演示程序,领略MATLAB 语言在求解数学问题方面的能力与方法。
【求解】略.2、启动MATLAB 环境,并给出语句tic, A=rand(500); B=inv(A); norm(A*B-eye(500)),toc ,试运行该语句,观察得出的结果,并利用help 命令对你不熟悉的语句进行帮助信息查询,逐条给出上述程序段与结果的解释。
【求解】在MATLAB 环境中感触如下语句,则可以看出,求解500500⨯随机矩阵的逆,并求出得出的逆矩阵与原矩阵的乘积,得出和单位矩阵的差,得出范数。
一般来说,这样得出的逆矩阵精度可以达到1210-。
>> tic, A=rand(500); B=inv(A); norm(A*B-eye(500)), tocans =1.2333e-012Elapsed time is 1. seconds.3、试用符号元素工具箱支持的方式表达多项式5432()34236f x x x x x x =+++++,并令11s x s -=+,将f(x) 替换成s 的函数。
【求解】可以先定义出f 函数,则由subs() 函数将x 替换成s 的函数>> syms s x;f=x^5+3*x^4+4*x^3+2*x^2+3*x+6;F=subs(f,x,(s-1)/(s+1)) F =(s-1)^5/(s+1)^5+3*(s-1)^4/(s+1)^4+4*(s-1)^3/(s+1)^3+2*(s-1)^2/(s+1)^2+3*(s-1)/(s+1)+6syms x sx=(s-1)./(s+1);y=x.^5+3*x.^4+4*x.^3+2*x.^2+3*x+6;ysimple(y)y=19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^54、用MATLAB 语句输入矩阵A 和B123414233241432141322314,234123324114324132234114j j j j j j j j A B j j j j j j j j ++++⎡⎤⎡⎤⎢⎥⎢⎥++++⎢⎥⎢⎥==⎢⎥⎢⎥++++⎢⎥⎢⎥++++⎣⎦⎣⎦前面给出的是4 ×4 矩阵,如果给出A(5; 6) = 5 命令将得出什么结果?【求解】用课程介绍的方法可以直接输入这两个矩阵>> A=[1 2 3 4; 4 3 2 1; 2 3 4 1; 3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1若给出A(5,6)=5 命令,虽然这时的行和列数均大于B 矩阵当前的维数,但仍然可以执行该语句,得出>> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5复数矩阵也可以用直观的语句输入>> B=[1+4i 2+3i 3+2i 4+1i; 4+1i 3+2i 2+3i 1+4i;2+3i 3+2i 4+1i 1+4i; 3+2i 2+3i 4+1i 1+4i];B =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i5、假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数行提取出来,赋给B 矩阵,用A =magic(8) 命令生成A 矩阵,用上述的命令检验一下结果是不是正确。
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习题及参考答案经典.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习题及答案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及工程应用•…作业胡章芳电气工程与自动化(1)班0513080109燕如龙重庆邮电大学电工程学院习题一MATLAB运算基础一、目的1、熟悉启动和退出MATLAB的方法;2、熟悉MATLAB命令窗口的组成;3、掌握建立矩阵的方法;4、掌握MATLAB各种表达式的书写规则以及常用函数的使用。
二、内容1.先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
八、I 2sin 85°⑴m三 -- F1 + e(2) z2 = -yin (x 十),其中第=:I2 -0.45 5 J0・3。
0山(3) z3二 -- ---- sin (a +0.3),a = -3.0, -2,9, -2,89…2829,3,0提示:利用冒号表达式生成J向量,求各点的函数值时用点乘运算。
» z1 =2*sin(85*pi/l 80)/( 1 +exp(2)) zl =0.2375» x=[2 l+2i;-0.45 5];» z2=l/2*log(x+sqrt( l+x A2))z2 =0.7114 - O.O253i 0.8968 + O.3658i0.2139 + O.9343i 1.1541 - 0.0044i» a=-3.O:O」:3・O;z3=l/2*(exp(O.3*a)-exp(O.3*a)).*sin(a+O.3)z3 =Columns 1 through 60 0 0 0 0 0Columns 7 through 120 0 0 0 0 0Columns 13 through 180 0 0 0 0 0Columns 19 through 240 0 0 0 0 0Columns 25 through 300 0 0 0 0 0Columns 31 through 360 0 0 0 0 0Columns 37 through 420 0 0 0 0 0Columns 43 through 480 0 0 0 0 0Columns 49 through 540 0 0 0 0 0Columns 55 through 600 0 0 0 0 0Column 612.已知T234-4,T3-rA =34787,B二203-3657 -■3-27 •求下列表达式的值:(1) A + 6* B和A-B + H其中1为单位矩阵)。
matlab基础练习题及答案
第1章MATLAB基础1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?答:在MATLAB操作桌面上有五个窗口。
在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口。
在独立窗口的Desktop菜单中选择Dock...项就可以将独立的窗口重新放置到桌面上。
1.5 如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。
在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。
1.6 存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。
1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。
1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
1.9 在MATLAB中有几种获得帮助的途径?答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器。
MATLAB第一章作业答案
M A T L A B第一章作业答案(共5页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第一章M A T L A B概况与基本操作1.选择题:(1)最初的MATLAB核心程序是采用A语言编写的。
(2)即将于2011年9月发布的MATLAB新版本的编号为D。
2011Ra 2011Rb R2011a R2011b(3)在默认设置中,MATLAB中的注释语句显示的颜色是D。
A.黑色B.蓝色C.红色D.绿色(4)如果要以科学计数法显示15位有效数字,使用的命令是B。
long long e long g long d(5)在命令窗口新建变量a、b,如果只查看变量a的详细信息,使用的命令为B。
a a(6)如果要清除工作空间的所有变量,使用的命令为 C 。
all C.两者都可 D.两者都不可(7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上D。
A.冒号B.逗号C.空格D.分号(8)如果要重新执行以前输入的命令,可以使用B键。
A.下箭头↓B.上箭头↑C.左箭头←D.右箭头→(9)如果要查询函数inv的相关信息,并显示在命令窗口,应使用命令A。
D.三者均可(10)如果要启动Notebook文档,下列D操作是可行的。
A.在命令窗口输入notebook命令B.在命令窗口输入notebook filename命令C.在Word中启动M-book文档D.三者均可2.填空题:(1)MATLAB是MATrix和LABoratory两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler和Jack Little。
(2)在MATLAB的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为紫色,注释显示的字体为绿色,错误信息显示的字体为红色。
(3)在命令窗口中,输出结果显示为各行之间添加空行的命令为format compact,各行之间不添加空行的命令为format compact。
matlab习题与答案
matlab习题与答案
MATLAB习题与答案
MATLAB是一种强大的数学软件,广泛应用于工程、科学和金融等领域。
通过MATLAB,用户可以进行数据分析、图像处理、模拟建模等多种操作。
为了帮
助大家更好地掌握MATLAB的应用,我们为大家准备了一些习题与答案,希望
能够帮助大家更好地理解和掌握MATLAB的使用。
习题一:编写一个MATLAB程序,实现对给定矩阵的转置操作。
解答:可以使用MATLAB中的transpose函数来实现矩阵的转置操作。
例如,
对于一个3x3的矩阵A,可以使用以下代码实现转置操作:
A = [1 2 3; 4 5 6; 7 8 9];
B = transpose(A);
习题二:编写一个MATLAB程序,实现对给定矩阵的逆矩阵计算。
解答:可以使用MATLAB中的inv函数来实现对矩阵的逆矩阵计算。
例如,对
于一个3x3的矩阵A,可以使用以下代码实现逆矩阵计算:
A = [1 2 3; 4 5 6; 7 8 9];
B = inv(A);
习题三:编写一个MATLAB程序,实现对给定矩阵的特征值和特征向量计算。
解答:可以使用MATLAB中的eig函数来实现对矩阵的特征值和特征向量计算。
例如,对于一个3x3的矩阵A,可以使用以下代码实现特征值和特征向量计算:A = [1 2 3; 4 5 6; 7 8 9];
[V, D] = eig(A);
通过以上习题与答案的学习,相信大家对MATLAB的应用已经有了更深入的了
解。
希望大家能够多加练习,不断提升自己的MATLAB技能,为今后的工作和学习打下坚实的基础。
(完整版)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基础习题第五章习题答案
(1)如果当前时间为 7-8 点则提醒用户,该吃早饭了; (2)如果当前时间为 9-11 点则提醒用户,该学习了; (3)如果当前时间为 12-14 点则提醒用户,该午休了; (4)如果当前时间为 14-17 点则提醒用户,该锻炼了; 答: %%程序为:remind.fig、remind.m
6.求解六元线性方程组: (1)方程组的系数矩阵由用户通过键盘输入; (2)得到系数矩阵后给出方程的解; (3)程序要具有友好性 答:
%% %该模块实现的功能是:求解六元线性方程组,方程组的系数矩阵由用户通过键盘输入;得到系数矩阵后给 出方程的解; clc; clear all; close all; %% %方程输入模块 x=inputdlg({'第一个方程系数','第二个','第三个','第四个','第五个','第六个'}); A=cell2mat(x); %% y=inputdlg({'第一个方程等号右边数','第二个','第三个','第四个','第五个','第六个'});
you=input('请做出你的选择,石头(1) ,剪刀(2) ,布(3) : '); end disp('您的选择是: '); disp(b(2*you-1:2*you)); compute=ceil(3*rand(1,1)); disp('电脑的选择是:'); disp(b(2*compute-1:2*compute)); %% %%输赢判断模块 %如果电脑与选手出的一样,则显示平手,否则根据石头剪刀布的规则来判断输赢 if you==compute disp('平手'); end switch(you-compute) case{1,-2} disp('您输了'); case{-1,2} disp('您赢了'); end %% %是否继续判别模块 n=input('是否继续玩该游戏?否(0) ,是(1)'); while n~=0&n~=1 disp('您输入的不是正确数字,请正确输入'); n=input('是否继续玩该游戏?否(0) ,是(1)'); end end >> 请选择,石头(1) ,剪刀(2) ,布(3) : 1 您的选择是: 石头 电脑的选择是: 、剪 您赢了 是否继续玩该游戏?否(0) ,是(1)1 请选择,石头(1) ,剪刀(2) ,布(3) : 2 您的选择是: 、剪 电脑的选择是: 石头 您输了 是否继续玩该游戏?否(0) ,是(1)0 >> 5.编写一个日程提醒程序实现如下功能:
matlab练习题答案
matlab练习题答案一、求解线性方程组题目描述:解以下线性方程组2x + 3y - z = 7x - y + 2z = 33x + 2y + 4z = 12解答:使用MATLAB的线性方程组求解函数linsolve,可以得到该线性方程组的解。
代码如下:A = [2, 3, -1; 1, -1, 2; 3, 2, 4];B = [7; 3; 12];X = linsolve(A, B);其中,A为系数矩阵,B为常数矩阵,X为方程组的解矩阵。
运行以上代码,即可得到方程组的解为:X =2.0000-1.00003.0000所以,该线性方程组的解为x=2,y=-1,z=3。
二、矩阵运算题目描述:计算矩阵A和矩阵B的乘积,其中A为3×2矩阵,B为2×4矩阵。
A = [1, 2; 3, 4; 5, 6];B = [7, 8, 9, 10; 11, 12, 13, 14];解答:使用MATLAB的矩阵乘法运算符*,可以计算矩阵A和矩阵B的乘积。
代码如下:A = [1, 2; 3, 4; 5, 6];B = [7, 8, 9, 10; 11, 12, 13, 14];C = A * B;运行以上代码,即可得到矩阵A和矩阵B的乘积矩阵C。
C =29 32 35 3865 72 79 86101 112 123 134所以,矩阵A和矩阵B的乘积为一个3×4矩阵C,其中C的元素为上述结果。
三、绘制函数图像题目描述:绘制函数y = sin(x)在区间[0, 2π]上的图像。
解答:使用MATLAB的绘图函数plot,可以绘制函数的图像。
代码如下:x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y);其中,linspace函数用于生成0到2π之间的线性间隔向量,共100个点。
sin函数用于计算每个点的函数值。
plot函数用于绘制图像。
运行以上代码,即可得到函数y = sin(x)在区间[0, 2π]上的图像。
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, 计算⎥⎦⎤⎢⎣⎡=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)展开为系数多项式的形式。
matlab练习题及答案详解附程序
Matlab练习题及答案详解1、下表为8组坐标x 4.22■7.926.56 8.4 9 6.79 '7.43 6.55 7. 06y 9.16 ! 9.590. 36 9.3 4 7.58 3.92 1.71 0. 321)算出任意两点间的空间距离,得到任意两点距离表;2)把任意两点距离的表中,自己到自己的距离,转变成无穷大clc clearclose 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))A2+(y(i)-y(j))A2);% 平面坐标距离公式endenddis(dis==0)=inf;% 将距离表中为0的数值,变成无穷大redis二dis;2、按要求步骤,操作下表基础题要求:1)对每列进行[0,1]区间化x' (x min(x))/(max min(x));2)把区间化后的表的右边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的行和列的大小newx仁zeros(m,n);%对newx1进行初始化,大小和初始x 一样大for i=1: nn ewx1(:,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 列,赋值给n ewx2下边[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% n ewx3二reshape (n ewx2,[],1); renewx=newx3';%最终的结果3、数值运算1)用matlab求下列式子极限X24arccos(x)f(x,y) ye2 ydxdy2」x2 3=1一重积分 二重积分re1a=limit(y,x,64) %====3.1.b=== syms x y=((x^2-2*x+4)八(1/2)-2)/x; re1b=limit(y,x,0) %===求导数 %====3.2.a=== syms xf=(si n( x A2+1))A2;re2a=diff(f,x)% 对 x 求导 %====3.2.b=== syms x y f=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)A(1/2),x,0,4)% %====3.3.b === syms x yre3b=int(int(y/(xA2-1),x,-2,-sqrt(2)),y,1,3)%二、 提高题1、画一个正五边形,边长自定i »lr'M't _____________________ t _____________ | _____________ | _____________ i4 0 41 O图1:示例一clcclose alla=100;b二a/(2*si n(36/180*pi));x二b*[-cos(18/180*pi) 0 cos(18/180*pi).…sin(36/180*pi) -sin(36/180*pi)-cos(18/180*pi)];y=b*[si n(18/180*pi) 1 si n(18/180*pi).…-cos(36/180*pi) -cos(36/180*pi)sin(18/180*pi)];plot(x,y,'li newidth',2)text(-b/4,0,' 正五边形','fontsize',20) text(O,O,'y二','num2str(p(1))')axis([-b-b/5 b+b/5 -b-b/5 b+b/5])axis equal box off2、模拟小球的斜抛,模拟参数自定,画出速度图像图2 :示例clearclose allg=9.8;v0=10;theta二pi/4;detat=O.O1;x=0;y=0;t=0;X=[]; Y=[];V=[];T=[]; vy=v0*s in( theta);vx二vO*cos(theta);h=plot(x,y,'r.','markersize',50); while y>=0delete(h)vx=vx-0*detat;vy=vy-g*detat;v=sqrt(vx A2+vy A2);x=x+vx*detat;y=y+vy*detat;t=t+detat;%== 图形控制部分subplot(3,1,1) plot(x,y,'.b')h=plot(x,y,'r.','markersize',50); hold ontitle('x-y','fontsize',14) axis([0 11 0 3]);box off subplot(3,1,2) plot(x,v,'.R','markersize',5) hold on title('x-v','fontsize',14) axis([0 11 6 v0+1]);box off subplot(3,1,3)plot(t,v,'.g','markersize',5) hold on title('t-v','fontsize',14)axis([0 1.55 6 v0+1]);box offpause(0.05)X=[X,x];Y=[ Y,y];V=[V,v];T=[T,t];endp=polyfit(X, Y,2)3、在1的基础上,加上空气阻力的影响,空气阻力大小与速度的平方成正比,f k|v2(比例系数自己定,也可以上网查,建议取0.5),画出速度图像图3:示例三clcclearclose allg=9.8;v0=10;theta二pi/4;detat=0.01; x=0;y=0;t=0;X=[];Y=[];V=[];T=[]; vy=v0*sin(theta); vx=v0*cos(theta);k=0.5;m=2; h=plot(x,y,'r.','markersize',50); while y>=0 delete(h)vx二vx-(k*vx^2)/m*detat;vy二vy-g*detat-(k*vy^2)/m*detat;v=sqrt(vx A2+vy A2);x=x+vx*detat;y=y+vy*detat;t=t+detat;%== 图形控制部分subplot(3,1,1) plot(x,y,'.b')h=plot(x,y,'r.','markersize',50); hold ontitle('x-y','fontsize',14) axis([0 11 0 3]);box off subplot(3,1,2) plot(x,v,'.R','markersize',5) hold ontitle('x-v','fontsize',14) axis([0 11 3 v0+1]);box offsubplot(3,1,3) plot(t,v,'.g','markersize',5) hold ontitle('t-v','fontsize',14) axis([0 2.75 3 v0+1]);box offpause(0.1)X=[X,x];Y=[Y,y];V=[V,v];T=[T,t];endp=polyfit(X,Y,2)4、画一个叠的圆环,圆环参数自定clear;n=i nput('圆的层数:');r=5;%圆的半径theta=li nspace(0,2*pi);x=r*cos(theta);y=r*s in( theta);figure,title(' 叠的圆环','fontsize',14)axis equalgrid onhold on;forj=1: nb=(1+sqrt(3)*(j-1))*r;% 圆心bfor i=1: n+1-ja=(2*(i-1)+j)*r;% 圆心aplot(x+a,y+b)end end5、模拟两个小球在水平面上,进行完全弹性碰撞过程,分析两个小球构成系统的机械能随时间的变化,小球参数自定。
matlab基础测习题(带答案)
精心整理Matlab基础练习题常量、变量、表达式1、MATLAB中,下面哪些变量名是合法的?()2、3、4、5、)6、小数7、8、在MATLAB中,a=1,b=i,则a占_8__个字节,b占_16_个字节,c占________字节。
9、在MATLAB中,inf的含义是__无穷大__,nan的含义是__非数(结果不定)___。
数组1、在MATLAB中,X是一个一维数值数组,现在要把数组X中的所有元素按原来次序的逆序排列输出,应该使用下面的()指令。
(A)X[end:1] (B)X[end:-1:1] (C)X(end:-1:1)(D)X(end:1) 2、在MATLAB中,A是一个字二维数组,要获取A的行数和列数,应该使用的MATLAB的命令是()。
(A)class(A) (B)sizeof(A) (C)size(A)(D)isa(A)3、4、这5、6、___linspace(0,5,50)___7、在MATLAB中,A=[0:1/2:2]*pi,那么sin(A)=___[010-10]_____。
8、在MATLAB中,A=[1,2,3;4,5,6;7,8,0],B=[2,1,6;8,5,2;14,2,1]。
写出下面MATLAB语句执行的结果:(为节省篇幅,把矩阵写成mat2str的形式)(1)A==B [000;010;000](2)A.*B [2218;322512;98160](3)A(:)' [147258360](4)A(1,:)*B(:,3) 139、在MATLAB中,写出下面MATLAB语句执行的结果:(1)c lear,A=ones(2,6)A=(5)B=A(:,end:-1:1)B=211713951231915117310、请编写一段matlab程序,完成以下功能:(1) 生成一个100行,200列的二维随机数组;A=rand(100,200);(2) 找出数组A 中所有大于0.49且小于0.51的元素的单下标;Idx=find(A(:)>0.49&A(:)<0.51)(3) 数组A 中满足(2)中的条件的元素有多少个?11、12、 22cos 0.7sin (1)x y x x ⎡⎤=+⎢⎥+⎣⎦,编写一段matlab 程序,要求如下(1) 在[0,2]π区间,每隔0.01取一x 数值,计算出相应的y 的函数值;x=0:0.01:2*pi;y=(0.7+2*cos(x)./(1+x.^2)).*sin(x)(2)根据MATLAB计算出的数据,找出在[0,2]π内该函数的极小值的坐标。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 MATLAB 工作环境熟悉及简单命令的执行
一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。
二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单
(Menu )、工具条 (Toolbar )、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。
三、实验步骤:
1、启动MATLAB ,熟悉MATLAB 的桌面。
2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。
(1)(365-52⨯2-70)÷3
(2)>>area=pi*2.5^2
(3)已知x=3,y=4,在MATLAB 中求z :
()2
3
2y 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:0.1:6*pi;
>>y=5*sin(x);
>>plot(x,y)
(6)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。
四、思考题
1、以下变量名是否合法?为什么?
(1)x2
(2)3col
(3)_row
(4)for
2、求以下变量的值,并在MATLAB 中验证。
(1)a = 1 : 2 : 5 ;
(2)b = [ a' a' a' ] ;
(3)c = a + b ( 2 , : )
实验二 MATLAB 语言矩阵运算
一、实验目的:掌握基本的矩阵运算及常用的函数。
二、实验内容:
⎥⎦⎤⎢⎣⎡=654321a ⎥⎦⎤⎢⎣⎡-=531142b ⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡-=201c ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=063258741d 1、下列运算是否合法,为什么?如合法,结果是多少?
(1) result1 = a'
(2) result2 = a * b
(3) result3 = a + b
(4) result4 = b * d
(5) result5 = [b ; c' ] * d
(6) result6 = a . * b
(7) result7 = a . / b
(8) result8 = a . * c
(9) result9 = a . \ b
(10) result10 = a . ^2
(11) result11 = a ^2
(12) result11 = 2 . ^ a
2、用MATLAB 求下面的的方程组。
(1)⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⨯⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----017413231511222315921274321x x x x (2)⎪⎪⎩⎪⎪⎨⎧=-++=--=-++=++5
65333
32821w z y x w y x w z y x z y x
3、已知⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡----=1323151122231592127A (1)求矩阵A 的秩(rank)
(2)求矩阵A 的行列式(determinant)
(3)求矩阵A 的逆(inverse)
(4)求矩阵A 的特征值及特征向量(eigenvalue and eigenvector)
4、关系运算与逻辑运算
已知a=20,b=-2,c=0,d=1
(1) r1 = a > b
(2) r2 = a > b & c > d
(3) r3 = a == b* (-10)
(4) r4 = ~b | c
三、思考题
10991010
1022222++++==
---=∑ n n y ,求y=?(用format long 查看y 的值)
实验一运行结果截图
四、思考题
1、以下变量名是否合法?为什么?
(1)x2
(2)3col
(3)_row
(4)for
答:只有第二个是合法的。
因为开始不能呢个为字母和下划线,故一和三不合法,for是系统内部的函数,不能做变量名。
实验二运行结果截图。