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

下载本文档

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

文档简介

1、1、求以下变量的值,并在MATLAB中验证。( 1 ) a = 1 : 2 : 5a =135( 2 ) b = a' , a' , a' ; a b =111333555135( 3 ) c = a + b ( 2 , : )c =4682、下列运算是否合法,为什么?如合法,结果是多少?>> result2=a*bError using*Inner matrix dimensions must agree.>> result3=a+b result3 =3625811>> result4=b*d result4 =312222404

2、913>> result5=b;c'*d result5 =312222404913-5-87>> result6=a.*b result6 =28-341530>> result7=a./b result7 =0.50000.5000-3.00004.00001.66671.2000>> result8=a.cAttempt to reference field of non-structure array.>> result9=a.b result9 =2.00002.0000-0.33330.25000.60000.83

3、33>> result10=a.2 result10 =149162536>> result11=2.a result11 =2481632643、用 MATLAB求解下面的的方程组。7212x1491532x27(1)2115x31213213x40>> 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>> A1=1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6>> B2

4、=1;8;3;5>> x2=inv(A1)*B2721291532A211524、已知13213(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、102

5、 102 929210y2nn10, 求 y=?(运行 format long g命令后,查看 y 的值)m1=0;for m=-10:10m1=m1+2m;endm1m1 =6、求分段函数的值。用 if语句实现,算出下列表中x 对应的 y值。x=input('enter x=');if x<0y=x2+x-6;elseif x>=0&&x<5y=x2-5*x+6;elsey=x2-x-1;endy7、分别用 if 和 switch 语句实现,将百分制成绩转换为成绩等级 A、B、C、D、E。其中 90100 分为 A,8089 分为 B,707

6、9分为 C,6069 分为 D,60 分以下为 E。对超出百分制范围的成绩, 给出错误提示信息。if结构程序:x=input('please enter score=');if x>=90&&x<=100disp('A')elseif x<90&&x>=80disp('B')elseif x<80&&x>=70disp('C')elseif x<70&&x>=60disp('D')elseif x<

7、60&&x>=0disp('E')elsedisp('error')endswitch结构程序:x=input('please enter sco re=');switch fix(x/10)case10,9if x>100disp('error')elsedisp('A')endcase8disp('B')case7disp('C')case6disp('D')case0,1,2,3,4,5disp('E')otherwi

8、sedisp('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;elsedisp('err

9、or')endy9、启动 MATLAB后,点击 File|New|M-File , 启动 MATLAB的程序编辑及调试器( Editor/Debugger ),编辑以下程序,点击 File|Save 保存程序, 注意文件名最好用英文字符。 点击 Debug|Run 运行程序,在命令窗口查看运行结果, 程序如有错误则改正。注:数论中一个有趣的题目: 任意一个正整数,若为偶数, 则用 2 除之,若为奇数,则与 3 相乘再加上 1。重复此过程,最终得到的结果为 1。n=input(' 请输入 n 值:');a=n;while n>1if rem(n,2)=0n=n/2;

10、elsen=3*n+1;enda=a,n;enda10、根据x211116122232n2,当 n 分别取 100、 1000、 10000 时,求 x 的值分别是多少?a=input(' 请输入数值 ')for m=1:100n=n+1/(m*m);endn=6*n;x=sqrt(n);x11、编程求满足km1 2k10000的最小 m值。sum=0;m=2;a=1;while afor i=1:msum=sum+2i;if sum>10000a=0;endendm=m+1;endm12、思考题已知y和t的函数关系:y ( t )1tt 2 / 2!t 3 / 3!.t

11、 20 / 20 !求下面表格中与t 对应的 y 值n=0;t=input(' 请输入 t 值: ')sum=0;for i=1:20b=factorial(i);sum=sum+ti/b;endsum=sum+1;sum13、编写一个函数,计算下面函数的值,给出标量 x 的值,调用该函数后,返回 y 的值。function y=myfun1(x)选择一些数据测试你编写的函数。functiony=myfun1(x)if x<=0y=sin(x);elseif x>0&x<=3y=x;elseif x>3y=-x+6;end14、编写一个函数求向量

12、 x 中元素的平均值、最大值、最小值、均方根值。functionm_x,max_x,min_x,rms_x=myfun2(x)方均根值 (Root Mean Square)的计算公式为:用下面数据测试你写的函数:( 1) x=sin(0:0.01:6*pi)t0.20.40.60.81.0y( 2)x=rand(1,200) ,得到的 x 为 200 个(0,1)之间均匀分布的随机数。functionm_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;

13、%求最大值采用逐个比较方式if x(1)>x(2)max_x=x(1);elsemax_x=x(2);endfor k=3:nif max_x<x(k)max_x=x(k);elsemax_x=max_x;%可省略endend%求最小值if x(1)<x(2)min_x=x(1);elsemin_x=x(2);endfor k=3:nif min_x>x(k)min_x=x(k);elsemin_x=min_x;%可省略endend%求均方根值sum_x2=0;for k=1:nsum_x2=sum_x2+x(k).2;rms_x=sqrt(sum_x2/n);endm

14、_x;max_x;min_x;rms_x;%按照函数值行参顺序输出结果15、编写一个函数,给出一个向量x x1, x2,xn ,生成如下范德蒙矩阵。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 ,a 的值分别为: 3,17,113。迭代的终止条件xx 10 5为n 1n,迭代初值x0 1.0 , 迭代次数不超过 100 次。分别对迭代结

15、果和准确值进行比较, 并xn 1xna22xn统计迭代次数。functionx,n=sqrt_a(a)x=1.0;for k=1:100m=x;x=x/2+a/(2*x);if abs(x-m)<=10(-5)breakendendx;n=k;s=(x-sqrt(a);if s<=10(-5)disp(' 正确 ');elsedisp(' 错误 ');enduc=cos(2*pi/3)+sin(2*pi/3)*i;17、在同一坐标系下绘制下面三个函数在compass(ua,ub,uc,ua-ub,ub-uc,uc-ua)t0 ,4 的图象。>&

16、gt; ua=1;>> t=0:0.1:4*pi;>> ob=cos(-2*pi/ 3)>> y1=t;>> ob=cos(-2*pi/ 3)+sin(-2*pi/ 3)*i;>> y2=t(0.5);>> ub=cos(-2*pi/ 3)+sin(-2*pi/ 3)*i;>> y2=sqrt(t);>> uc=cos(2*pi/ 3)+sin(2*pi/ 3)*i;>> y3=4*pi*eps(-0.1*t).*sin(t);>> compass(ua,ub,uc,ua-u

17、b,ub-uc,uc-ua)>> plot(t,y1,t,y2,t,y3)20、三维空间曲线绘制18、编写程序,选择合适的步距,绘制下面z=0:0.1:4*pi;函数在区间 -6, 6 中的图象。function y=fun1(x)x=cos(z);y=;y=sin(z);for x0=xplot3(x,y,z)if x0<=0>> z=0:0.1:4*pi;y=y,sin(x0);>> x=cos(z);elseif x0>0&&x0<=3>> y=sin(z);y=y,x0;>> plot3(x,

18、y,z)elseif x0>321、用 mesh或 surf 函数,绘制下面方程所表示的三维空间曲面, x 和 y 的取值范y=y,6-x0;围设为 -3 ,3 。end>> x=-3:0.01:3;end>> y=-3:0.01:3;>> x=-6:0.1:6;>> x,y=meshgrid(x,y);>> y=fun1(x);>> z=-x.*x/10+y.*y/10;>> plot(x,y)>> mesh(x,y,z)19、用 compass 函数画下面相量图>> z=x.*

19、x/10+y.*y/10;ua=1;ub=>> mesh(x,y,z)cos(-2*pi/3)+sin(-2*pi/3)*i;22、思考题用对分法求解方程2e xsin x 在 0 ,1 内的解, 并验证, 在程序中统计出对分次数。提示:先将原方程转化成f (x) 2e xsin x 0的 形式。对分法的基本思想是:一个一元方程 f(x)=0 ,若 f(x1)*f(x2)<0 ,则在 x1,x2 区间内有实数解。 取该区 间的中点 xm=(x1+x2)/2 ,判定 f(x1) 和 f(x2) 二者 中 哪 一 个 与 f(xm) 异 号 , 若 f(x1)*f(xm)<

20、0 ,则解存在的区间缩小为 x1,xm ,否则解存在的区间缩小为xm,x2 。重复这样的步骤,直到区间的长度小于一个可以接受的小数 (比如 1e-10 ) , 则认为中点即是原方程的解。>> x0=0;x1=1;y=1;i=0;while y=0i=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*y0<0x0=x3;elseif y*y1<0x1=x3;elseif y=0x3=x3;endif i=1000000y=0;endEnd23、求代数

21、方程3x54x 47 x32x 29x120 的 5个根,并将其用星号(* )标记在复平面图上。(用 roots和 plot函数)>> a=3,4,7,2,9,12;>> y=roots(a)>> plot(y,'*')求代数方程 x510 的 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('

温馨提示

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

评论

0/150

提交评论