matlab基础练习题及答案_第1页
matlab基础练习题及答案_第2页
matlab基础练习题及答案_第3页
matlab基础练习题及答案_第4页
matlab基础练习题及答案_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、第1章 MATLAB 基础MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?答:在MATLAB操作桌面上有五个窗口。在每个窗口的右上角有两个小按钮,一个是关闭窗口的 Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击 Undock按钮就可以使该窗口脱离桌面成为独立窗口。在独立窗口的Desktop菜单中选择 Dock项就可以将独立的窗口重新放置到桌面上。如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动 M文件编辑/调

2、试器。存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打 开数组编辑器,再选中要修改的数据单元,输入修改内容即可。命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项

3、来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能 够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上 的文件,如果没有特别说明,数据文件将存储在当前目录上。在MATLAB中有几种获得帮助的途径?答:(1)帮助浏览器:选择 view菜单中的Help菜单项或选择 Help菜单中的MATLAB Help菜单项 可以打开帮助浏览器。help命令:在命令窗口键入“ help ”命令可以列出帮助主题,键入“ help函数名”可以得到 指定函数的在线帮助信息。lookfor命令:在命令窗口键入 lookfor关键词”可以搜索出一系列与给定关

4、键词相关的命令和函数。模糊查询:输入命令的前几个字母,然后按 Tab键,就可以列出所有以这几个字母开始的命令和函数。注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。第2章 MATLAB 矩阵运算基础在MATLAB中如何建立矩阵f 7 3 并将其赋予变量a?4 9 1答:在Command Window窗口输入操作: a=5 7 3;4 9 1有几种建立矩阵的方法?各有什么优点?答:(1)直接输入法,如a=1 2 3 4,优点是输入方法方便简捷;(2)通过M文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改;(3)由函数建立,如

5、y=sin(x),可以由MATLAB的内部函数建立一些特殊矩阵;(4)通过数据文件建立,该方法可以调用由其他软件产生数据。在进行算术运算时,数组运算和矩阵运算各有什么要求?答:进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵 运算规则,如矩阵a与b相乘(a*b)时必须满足a的列数等于b的行数。数组运算和矩阵运算的运算符有什么区别?答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运 算的运算符前加一个点即为数组运算,如 a*b为矩阵乘,a*b为数组乘。2 4 2计算矩阵374与679之和卜98_卜36_ a=5 3 B;3 7 4;7 9 8

6、: b2 4 2;6 7 9,3 3 6: a+bans - TOC o 1-5 h z 77791413151214求x=4:8i 3: 9;4i U 4;的共轨转置 x= 44-81 3+5i 2-7i kWi 7-5i;3+2i 7-Si 9+4i 3-9i Wi;ans -4. 0000 - 8.000013, 0000 - 5.0000i0000 + r.OOOOi1.0000 - 4.OOOOi7.0000 + 5.000010000 - 2. OOOOi 700DO + 6. OOOOi 9.00Q0 - 4.OOOOi 3.0000 + 9. OOOOi 4.0000 - 4,

7、0000ians =1236384240“左除”与“右除”有什么区别?答:在通常情况下,左除x=ab是a*x=b的解,分母在左边。右除x=b/a是x*a=b的解,分母在右边般情况下,ab #b/a 。B = 26 ,求解 X。:284 9 21对于 AX =B ,如果 A = 7 6 4I 5 7一 A=4 9 2;7 6 4:3 5n; B=37 26 K=AB28;-0.51184.04271.33187 2 312.10已知:a4 5 6 ,分别计算a的数组平方和矩阵平方,并观察其结果? 8 9_答:a的数组的平方: TOC o 1-5 h z a=l 2 3;4 58 9;aiiE -

8、149162536496431a的矩阵的平方: a,23036426681加1021261502.11 a=( 2M3:,观察a与b之间的六种关系运算的结果 a=l 2 3;4 5 6; b=3 -7 4;3 6 2; ab ans = TOC o 1-5 h z 010101 a=b ans = 010101 Mb ans -I01010 a4二b ans =101010 a=b ans =000000 a=b ans -1111112.12 a=5 0.2 0 -8 -0.7,在进行逻辑运算时,a相当于什么样的逻辑量答:相当于a=1 1 0 1 1。在sin(x)运算中,x是角度还是弧度?

9、答:在sin(x)运算中,x是弧度,MATLAB规定所有的三角函数运算都是按弧度进行运算角度x= 30 45 60,求x的正弦、余弦、正切和余切。答: 算二30 45 60; Kl-s/180*pi; s in (x 1)0.50000.70710.8660 COE(Xl)186600. 70710. 5000 ,tanUl) ans -0.57741.00001.T321 cot a i) ans -L73211.00000.57742.15用四舍五入的方法将数组2.45686.39823.93758.5042取整 a= 2, 4568 6. 3982 1 9375 8. 5042; rou

10、nd(a)犯s =26499 12.16 矩阵 a= 5 68 23 ,分别对a进行特征值分解、奇异值分解、7LU分解、QR分解及Chollesky 分解。3:8 2了】, 卒9 1 2;5 6 v, d=eig(a) TOC o 1-5 h z -0.4330-0.2543-0.1744-0.56570,9660-0,3091-0.70180.04720.M36d =13.54820004.S3030003,5216 a=9 1 2;5 6 3;8 2 7; u, s, v=svd(a)-0.5601-0.4762-0.67790.5320-0. 83400. 1462-0.6350-0.2

11、7880.7204s =003. 3446 TOC o 1-5 h z 15.5234004.564800v =-0.4023-0.25920.8781-0. 82750.3917-0. 3075-0.9156-0.4699-0.0907 1, u=lu(a)1 =1. 00000. 55560. 888901. 0000 0.2041001.00002.00001.88894.83679. 00001.000005.444400 Qj rJ=qr (a)一。 69030. 39S9-0. 6050-Q. 3835-0. 9097-0. 1592-0, 61360.12210. 780113.

12、 0384-4.2133-6.82600-4,3172-L0807003.7733c=chol(a)c -X OOOO0.33330.666702.42671. 1447002.29032.17将矩阵a答:(1)组合成一个4M3的矩阵,第一列为按列顺序排列的 a矩阵元素,第二列为按列顺序排列的b矩阵元素,第三列为按列顺序排列的 c矩阵元素。 TOC o 1-5 h z a=N275;b=71 ;83;c=59;62;d-a(:) b (:)c CO 4713219532(2)按照a、b、c的列顺序组合成一个行矢量 e=a(:) ,b(:) ;c (:) T或利用(1 )中产生的 e=r esh

13、ape1, 12)135692基本图形处理功能2.18绘制曲线y二x3 +x +1 ,x的取值范围为-5,5。 x=-S:O, 1:5;3+x+l; plat (kj y)2.19有一组测量数据满足y=e-at, t的变化范围为010 ,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线。 y。二 15:io; yl=exp (-0.,; y2=exp (-04 2*t+l) y3=exp (-0* 5*t+l),;plot (t, yl J -ob f tf y2 J :一工)在5.1题结果图中添加标题y=e-at,并用箭头线标识出各曲线a的取值。 t it le C

14、 y=exp (- a*t+1)n)在5.1题结果图中添加标题y=e-a9图例框 legerLd(? a=0. 1/ J a=0. 1:, a=0. 5J )y=e)cp(-a*t+1)表中列出了 4个观测点的6次测量数据,将数据绘制成为分组形式和堆叠形式的条形 图。第1次第2次第3次第4次第5次第6次观测点1367428观测点2673247观测点3972584观测点4643274 y=3 6 9 6;6 7 7 4.7 3 2 3;4 25 2t24 8 7;8 74 4; bar(y) bar (y stack1)2.23 x= 6649 71 56 38,绘制饼图,并将第五个切块分离出来

15、 x=66 49 71 56 38; L=0 0 0 0 1; pie CxjL)22z=xe, t ,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。 y=jneshgrj.d( -2:, 2:2); z=z.*ezp(-x, *2-y. 2);巾白sh(父, subplot (2, 2 1)? plot 3 (sc,y, z) t it le ( plot 3 (x, y, z) subplot 2j 2), nesh(x3 y, z) t it le ( mesh (k, ys 公) subplot 2j 3)j

16、surf (k? y3 s) title ( surf (之心 幻) subplat (2j4) ? surf (ij y z) shading int erp f it le ( surf (x, y, z), shading mterp7 )plot3 (肛y,z)mssh (x,y ,z)绘制peaks函数的表面图,用colormap函数改变预置的色图,观察色彩的分布情 况。 surf(peaks C30); colormap(hot) colormap(cool) colornap(lines)2.2 用sphere函数产生球表面坐标,绘制不通明网线图、透明网线图、表面图和带剪孔的表面

17、图。 h3 y, z(3D); raesh (x, y, i)(z % rX) J JUS jjo uspp xqf (zfx) qs am 1(18:30, 1:5)=NaN*ones(13J 5); surf Cx, yr z)2.27将5.9题中的带剪孔的球形表面图的坐标改变为正方形,以使球面看起来是圆的而不是椭圆的,然后关闭坐标轴的显示。 axis square axis off第3章 符号数学基础(补充)创建符号变量有几种方法?答:MATLAB提供了两种创建符号变量和表达式的函数:sym和syms。sym用于创建一个符号变量或表达式,用法如x=sym( x及f=sym( x+y+z

18、),syms用于创建多个符号变量,用法如syms x y z 。f=sym( ,x+y+z , )相当于syms x y zf= x+y+z下面三种表示方法有什么不同的含义? f=3*xA2+5*x+2f=3*xA2+5*x+2x=sym(x)f=3*xA2+5*x+2答:(1) f=3*xA2+5*x+2表示在给定x时,将3*xA2+5*x+2的数值运算结果赋值给变量f,如果没有给定x则指示错误信息。f=3*xA2+5*x+2表示将字符串3*xA2+5*x+2赋值给字符变量f,没有任何计算含义,因此也不对字符串中的内容做任何分析。x=sym(x)f=3*xA2+5*x+2表示x是一个符号变量

19、,因此算式f=3*xA2+5*x+2就具有了符号函数的意义,f也自然成为符号变量了。用符号函数法求解方程at2+b* t+c=0 。答:a*t *2+b*t+c=0? /1 )r =1/2/a* (-b+b2-40c) “ U/Z)1/2/a*(-b-(b *2-4*a*c)(1/2)用符号计算验证三角等式:sin( i)cos( 2)-cos( i)sin( 2) =sin( 1- 2) syms phi 1 phi2; y=simple(sin(phil)*cos(phi2)-cos(phil)*sin(phi2)sin(phil-phi2)3.5求矩阵A=P11 a12 I的行列式值、逆

20、和特征根。21a 22 syms all al2 a21 a22; A=tallj al2;a2L a22A =all, al2a21, a22 AD=det (A)AD =all*a22-a!2*a21 AI=mvCA)AI 二a227fgi 1 *a22-al2*a21)f -al2/(all*a22-al2*a21)-a21/(all*a22-al2*a21), al l/(all*a22-a12*a21) AE=eig(A)%特征值AE =l/2*all+l/2*a22+l/2*(air2-2#all*a22+a22*244*al2*a21) * (1/2)l/2*all+l/2*a2

21、2-l/2* (air2-2*al 1 *a22+a22*2+4*al2*a21) *(1/2)3.6 因式分解:x4 -5x3 +5x2 +5x-6 syms x; f*4-6*x*3+&*2+5*x-6; factor (f)ans =(x-1) *(x-2)*(e-3) * (x+1)一211f=axx ,用符号微分求df/dxeaxlog(x)sin(x) syms a z; f= aj 堂2 1/x ; exp (a+x), log(x)j sin(x), df=diff (f)df =0,2*k3-1/x2a#esp(a*x),1/kj cos (z)2求代数方程组3ax y c=

22、0关于x,y的解。x +y =0 S=colve f 2+b*y+c=O3 , b*x+c=0 , x , yF ) h disp( S,x=?) , disp(S,x)S,-c/b disp ( S, y=?) , disp(S, y)S.y=c*(a*c+b2)/b * 33.9符号函数绘图法绘制函数x=sin(3t)cos,y=sin(3t)sin的图形,t的变化范围为0,2 - syms t ezplot (sin(3*t) *008(1) sin(3*t)*siii(t)f Opi)3.10绘制极坐标下sin(3*t)*cos(t)的图形。 syms t ezpolar (ciih(

23、3*t) cos(t)第4章 MATLAB 其他函数库4.1将(x-6)( x-3)(x-8)展开为系数多项式的形式。 a=5 3 8; pa=poly(a); ppa=poly2sym (pa)x*3-17+x2+90*k-1444.2求解多项式x3-7x2+2x+40的根。r = singly cos(t) r=l -7 2 40: p=roots(r)p =0000工 0000-2. 00004.3求解在x=8时多项式(x-1)(x-2) ( x-3)(x-4)的值 p=pcly(l 2 3 4); polyvali(pJ 3)ans -8404.4计算多项式乘法(x2+2 x+2)(

24、x2+5 x+4) c=conv ( 1 2 2 1 5 4)1 T 161834.5 计算多项式除法(3x3+13 x2+6x+8)/( x+4) d=deconv( 3 13 6 8, I 4)4.6对下式进行部分分式展开:4323x 2x 5x 4x 6x5 3x4 4x3 2x2 7x 2 a=l 3 4 2 7 2; b=3 2 5 4 5: r,邑 k=residue (b, a)LI 274 + 1. 151311.1274 - 1.15131-0.0232 - 0.D722i-0.0232 + 0.0T22i0.7916-1. 7580 + 1. 26731-1.7680 -

25、1.267310176 + I, 113010.417S - 1. 11301-0.2991k =4.7计算多项式4x4 -12x3 -14x2 +5x+9的微分和积分 p=4 -12 -14 5; pder-polyder (p); p de r s=po ly2syn (p der) pders -12*k2-24*h-14 pirrt=polyiirt (p); piivtE=poly2syn(pint)pints -k 4-4*x*3-7*x* 2+5 事工一2 9 0 3解方程组3 4 11 X= 6:2 2 6 j F1 a=2 9 0;3 4 11 ;2 2 6; b=13 6

26、6; x=ab7.4000-0.20004 32 9.7 41勺最小范数解5 6.|5-1.4000求欠定方程组 a=2 4 7 4;9 3 5 6; b=8 5F ; x=pinv(a) *bK =-0.2151Cl. 44590. 79490,2707有一组测量数据如下表所示,数据具有 y=x2的变化趋势,用最小二乘法求解 yx11.522.533.544.5512.16.18.26.y-1.42.735.98.42682 u=l L5 2 2. 5 3 X5 4 4. 5 5?: y=l-1,4 3 T 3 5. 9 8.4 12. 2 16. 6 13.8 26. 2; ones (s

27、ize (x) it2; cey, xl=l: LI. 1: 5J ; yl=ones(size(xl), kL *2#c; plot (x,y, , roP ,xlj yl, )4 2-6矩阵a:,5 4 ,计算a的行列式和逆矩阵3 49 a=4 2 -67 5 4 ;3 4 9; ad=det(a)ad =-64 ai=inv(a)ai -0.453116562-0. 59370. 7969-0.84380. 9063-0. 2031工 1563-0. 0938y=sin(x), x从0至ij2% %=0.02n,求y的最大值、最小值、均值和标准差。 x=0:0. 02+pi:2*pi;

28、y=sin(x); ynaK=nax (y)加ax =1 ynin=niin (y)ymin =-1 ynean=mean(y)ymean =2.29555-017 ystd=st d(y)yst d =0.7071x = 1 2 3 4 5,y = 2 4 6 8 10,计算x的协方差、y的协方差、X与y的互协方 x=l 2 3 4 5, y= 2 4 6 8 10. cx=cov (x) cy=cov (y) cny=cov (xj y)ex =2.5000cy =10exy =2,50005.00005,000010.0000参照例3-20的方法,计算表达式z=l0(x3y5el的梯度并

29、绘图 V = -2:Dt2:2;x, y = uteshgrid(v);z=10(x. 3-y. 5). *eip(-z. -2-y yO.? orr xX =name: linecolor: reddata: 1 2.7000 3 5.9000 8.4000 12.2000 16.6000 18.8000 26.2000 x.colorans =red4 if语句有几种表现形式?答:(1) if表达式语句体endif表达式语句体1else语句体2endif表达式1语句体1elseif表达式2语句体2endif表达式1语句体1elseif表达式2语句体2else语句体3end5说明break语

30、句和return语句的用法。答:break语句用于终止for循环和while循环的执行。如果遇到break语句,则退出循环体,继续执行循环体外的下一行语句。在嵌套循环中,break只存在于最内层的循环中。return语句用于终止当前的命令序列,并返回到调用的函数或键盘, 也用于终止keyboad 方式,在MATLAB中,被调用的函数运行结束后会自动返回调用函数,使用 return语句时将 return插入被调用函数的某一位置,根据某种条件迫使被调用函数提前结束并返回调用函数。6有一周期为4 n的正弦波上叠加了方差为0.1的正态分布的随机噪声的信号,用循环结构 编制一个三点线性滑动平均的程序。(

31、提示:用0.1*randn(1,n)产生方差为0.1的正态分布的 随机噪声;三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x1(2)=(x(1)+x(2)+x(3)/3, x1(3)=( x(2)+x(3)+x(4)/3) t=0:pi/50:4*pi; nplezkffth(t); y=sinCt)+O, I*randnCl., n); ya; for i=2;n-lya(i)=sun(y (il; 1+1) )/3 ;end ya(n)=y(n): plot (tj Yj c j tj yaj r* j linewidth , 2)7编制一个解数论问题的函数文件:取任意整数

32、,若是偶数,则用 2除,否则乘3加1 , 重复此过程,直到整数变为1。答:function c=collatz(n)% collatz% Classic “ 3n+1 ” Ploblem from number theoryc=n;while n1if rem(n,2)=0n=nelsen=3*n+1;endc=c n;end8有一组学生的考试成绩(见表),根据规定,成绩在100分时为满分,成绩在9099之 问时为优秀,成绩在8089分之间时为良好,成绩在6079分之间为及格,成绩在60分以 下时为不及格,编制一个根据成绩划分等级的程序。学生姓 名王张刘李陈杨于黄郭赵成绩72835694100

33、8896685465endai=B9+i,b i =79+i;c i=69+i ;di1=59+i;end;c= & cl ;for i=l;nswit ch Marks(1)case 100Rank (i,:)二端分;case aRank (i,;)=优秀; case bRankH,良好;case cRank (i,:)= 及格;otherwiseRankd, :)=不及格,; end%得分为100时可得分在加“99之间%得分在6-79之间%得分低于60。disp(, )di4 (学生姓名 ; 得分*/等级);dispfor i=1:10,disp ( j Name (i) J end .m

34、iniSstr (Marks(x)L,学生姓名得分等级王72及格张B3良好刘56不及格李94优秀陈100箱分杨88良好于96优秀黄68及格郭54不及格赵65及格9编写一段程序,能够把输入的摄氏温度转化成华氏温度,也能把华氏温度转换成摄氏温N“王张刘,李陈物/于,黄/郭,赵;Mark写二 12,83, 66 94, 100,88 96,弭 5% 65;n=length(Marks);for i=l:n度。 k二inputs选择转换方式Q一摄氏转换为华氏,2华氏转换为摄氏):J;if k二l 曲 k=2diwp (请指定转换方式)breakendtilFinput,输入待转变的温度(允许输入数组)

35、:1;if k=-lt out =tin*9/5+32 ;%堪氏转换为华氏kl=2;elseif k=2taut= (t in-32) +5/9;%华氏转换为揭氏kl=l ;endstr= CJ / FM ;dispH转换前的温度转换后的温度J)di5PH , nun2st r (t in), str (k,: )j, num2st r (t out)str (k 1, :) |)选择转换方式(1 一携氏转换为华氏,Z一华氏转摭为据氏);10 keyboard 命令的作用是什么?当在函数中使用 keyboard命令时,是否可以在工作空 间浏览器中观察和修改函数中的局部变量?退出 keyboard状态的命令是什么?编一个函数文 件,在其中设置keyboard ,观察变量情况。答:当运行中的程序遇到keyboa

温馨提示

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

评论

0/150

提交评论