MATLAB实验题答案.doc_第1页
MATLAB实验题答案.doc_第2页
MATLAB实验题答案.doc_第3页
MATLAB实验题答案.doc_第4页
MATLAB实验题答案.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、求以下变量的值,并在MATLAB中验证。( 1 ) a = 1 : 2 : 5 a = 1 3 5( 2 ) b = a , a , a ;a b = 1 1 1 3 3 3 5 5 5 1 3 5( 3 ) c = a + b ( 2 , : ) c = 4 6 82、下列运算是否合法,为什么?如合法,结果是多少? result2=a*b Error using * Inner matrix dimensions must agree. result3=a+bresult3 = 3 6 2 5 8 11 result4=b*dresult4 = 31 22 22 40 49 13 result5=b;c*dresult5 = 31 22 22 40 49 13 -5 -8 7 result6=a.*bresult6 = 2 8 -3 4 15 30 result7=a./bresult7 = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000 result8=a.cAttempt to reference field of non-structure array. result9=a.bresult9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333 result10=a.2result10 = 1 4 9 16 25 36 result11=2.aresult11 = 2 4 816 32 643、用MATLAB求解下面的的方程组。(1) A=7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13 B=4 7 -1 0 B=B x=inv(A)*B(2) A1=1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6 B2=1;8;3;5 x2=inv(A1)*B24、已知(1)求矩阵A的秩(rank)(2)求矩阵A的行列式(determinant)(3)求矩阵A的逆(inverse)(4)求矩阵A的特征值及特征向量(eigenvalue and eigenvector) A3=7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13 r=rank(A3) b=inv(A3) a=det(A3) V,D=eig(A3)5、,求y=?(运行format long g命令后,查看y的值)m1=0;for m=-10:10m1=m1+2m;endm1m1 = 2047.99902343756、求分段函数的值。用if语句实现,算出下列表中x对应的y值。x=input(enter x=);if x=0&x=90&x=100 disp(A)elseif x=80 disp(B)elseif x=70 disp(C)elseif x=60 disp(D)elseif x=0 disp(E)else disp(error)endswitch结构程序:x=input(please enter score=);switch fix(x/10) case10,9 if x100 disp(error) else disp(A) end case8 disp(B) case7 disp(C) case6 disp(D) case0,1,2,3,4,5 disp(E) otherwise disp(error)end8、思考题设计程序,完成成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。x=input(请输入运算符)a=num2str(floor(rand(1)*90+10);ab=num2str(floor(rand(1)*90+10);bif x=+ y=a+b;elseif x=- y=a-b;elseif x=* y=a*b;elseif x=/ y=a/b;else disp(error)endy9、启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。注:数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。n=input(请输入n值:);a=n;while n1 if rem(n,2)=0 n=n/2; else n=3*n+1; end a=a,n;enda10、根据,当n分别取100、1000、10000时,求x的值分别是多少?a=input(请输入数值)n=0;for m=1:100 n=n+1/(m*m);endn=6*n;x=sqrt(n);x11、编程求满足的最小m值。sum=0;m=2;a=1;while a for i=1:m sum=sum+2i; if sum10000 a=0; end end m=m+1;endm12、思考题已知y和t的函数关系:求下面表格中与t对应的y值t0.20.40.60.81.0yt=input(请输入t值:)sum=0;for i=1:20 b=factorial(i); sum=sum+ti/b;endsum=sum+1;sum13、编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。function y=myfun1(x)选择一些数据测试你编写的函数。 function y=myfun1(x) if x0&x3 y=-x+6; end 14、编写一个函数求向量x中元素的平均值、最大值、最小值、均方根值。function m_x,max_x,min_x,rms_x=myfun2(x)方均根值(Root Mean Square)的计算公式为:用下面数据测试你写的函数:(1)x=sin(0:0.01:6*pi)(2)x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随机数。function m_x,max_x,min_x,rms_x=myfun2(x) %求平均值 sum_x=sum(x); %向量元素求和 m,n=size(x); %最好用n=length(x); m_x=sum_x/n; %求最大值 采用逐个比较方式 if x(1)x(2) max_x=x(1); else max_x=x(2); end for k=3:n if max_xx(k) max_x=x(k); else max_x=max_x; %可省略 end end %求最小值 if x(1)x(k) min_x=x(k); else min_x=min_x; %可省略 end end %求均方根值sum_x2=0; for k=1:n sum_x2=sum_x2+x(k).2; rms_x=sqrt(sum_x2/n);end m_x; max_x; min_x; rms_x; %按照函数值行参顺序输出结果 15、编写一个函数,给出一个向量,生成如下范德蒙矩阵。function v=myvander(x)例如:v=myvander(2 3 4 5)得v=function v=myvander(x) v1=vander(x); %生成范德蒙矩阵v2=v1; v=flipud(v2); %实现矩阵上下翻转 16、思考题编写程序,用如下迭代公式求,a的值分别为:3,17,113。迭代的终止条件为,迭代初值,迭代次数不超过100次。分别对迭代结果和准确值进行比较,并统计迭代次数。 function x,n=sqrt_a(a) x=1.0; for k=1:100 m=x; x=x/2+a/(2*x); if abs(x-m)=10(-5) break end endx; n=k; s=(x-sqrt(a); if s t=0:0.1:4*pi; y1=t; y2=t(0.5); y2=sqrt(t); y3=4*pi*eps(-0.1*t).*sin(t); plot(t,y1,t,y2,t,y3)18、编写程序,选择合适的步距,绘制下面函数在区间-6,6中的图象。function y=fun1(x)y=;for x0=x if x00&x03 y=y,6-x0; end end x=-6:0.1:6; y=fun1(x); plot(x,y)19、用compass函数画下面相量图ua = 1 ; ub = cos(-2*pi/3)+sin(-2*pi/3)*i ; uc=cos(2*pi/3)+sin(2*pi/3)*i;compass(ua,ub,uc,ua-ub,ub-uc,uc-ua) ua=1; ob=cos(-2*pi/3) ob=cos(-2*pi/3)+sin(-2*pi/3)*i; ub=cos(-2*pi/3)+sin(-2*pi/3)*i; uc=cos(2*pi/3)+sin(2*pi/3)*i; compass(ua,ub,uc,ua-ub,ub-uc,uc-ua)20、三维空间曲线绘制z=0:0.1:4*pi;x=cos(z);y=sin(z);plot3(x,y,z) z=0:0.1:4*pi; x=cos(z); y=sin(z); plot3(x,y,z)21、用mesh或surf函数,绘制下面方程所表示的三维空间曲面,x和y的取值范围设为-3,3。 x=-3:0.01:3; y=-3:0.01:3; x,y=meshgrid(x,y); z=-x.*x/10+y.*y/10; mesh(x,y,z) z=x.*x/10+y.*y/10; mesh(x,y,z)22、思考题用对分法求解方程在0,1内的解,并验证,在程序中统计出对分次数。提示:先将原方程转化成的形式。对分法的基本思想是:一个一元方程f(x)=0,若f(x1)*f(x2)0,则在x1,x2区间内有实数解。取该区间的中点xm=(x1+x2)/2,判定f(x1)和f(x2)二者中哪一个与f(xm)异号,若f(x1)*f(xm) x0=0;x1=1;y=1;i=0;while y=0 i=i+1; x3=(x0+x1)/2; y=2*eps(-x3)-sin(x3); y0=2*eps(-x0)-sin(x0); y1=2*eps(-x1)-sin(x1); if y*y00 x0=x3; elseif y*y1 a=3,4,7,2,9,12; y=roots(a) plot(y,*)求代数方程的5个根,并将其用星号(*)标记在复平面图上。(用roots和plot函数)程序: a1=1,0,0,0,0,-1; y1=roots(a1) plot(y1,*)24、求下面函数在0.5,4区间内的过零点。(用fzero函) x=0.5:0.01:4; y2=x.3-2*x.2.*sin(x)+5*x.*cos(x)+1./x; plot(x,y2)函数:function y2=fz(x) y2=x.3-2*x.2.*sin(x)+5*x.*cos(x)+1./x;分析:根据图像可知零点在x=1和x=3附近所以 fzero(fz,1)ans = 1.5117 fzero(fz,3)ans = 2.609525、已知R=50欧姆,U=4V,二极管D正向电流与电压的关系为:求此电路中的电流Id和二极管正向电压Ud(要求用fsolve函数求解)程序: x=fsolve(fun,0,optimset(Display,off) y3=5*10(-11)*exp(1.6*x/(1.38*10(-4)*27)-1)函数:function y=fun(x)y=5*10(-11)*exp(1.6*x/(1.38*10(-4)*27)-1)+x-4;26、实验数据处理:已知某压力传感器的测试数据如下

温馨提示

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

评论

0/150

提交评论