1、北航5系MATLAB编程部分练习大作业MATLAB编程部分练习大作业班级_xxxx_ 姓名:_xxx_ 学号:_xxxxx_一、判断题:1) 由矩阵a、b组成的方程组x*b=a的解,可以利用x=a/b进行求解。(对)2) 符号作为子函数数柄,记录了子函数的详细信息,可作为主函数的输出参数。(对)3) num2str函数表示将字符串或字符数组转换为数字或矩阵。(错)4) n=nargin(fun)用于返回函数fun定义的输入参数的个数。(对)5) 某m函数文件定义行语句为:Function varargout=myfun(x,varargin),如果调用方式为myfun(a,b,c)则varar
2、gin是长度为2的单元数组。(对)6) Roots用于求多项式等于0的根,根用行向量表示。(错)7) 最小二乘法拟合函数ployfit(x,y,n)中输入参数n为样本数据个数。(错)8) RTW(Real-Time Workshop)是MatLab提供的实时仿真工具,只要硬件性能允许,所有SimuLink建立的模型都可以通过RTW实现实时运行。(错)9) 在MATLAB中函数tf2zp()可以用来求传递函数的零极点和增益。(对)10) MATLAB语言是由C语言开发的,执行效率高,一般能够快速实时运行。(错)二、选择题:1) 下列( )函数可以创建一个m行、m列单位矩阵(对角线上为数值1,其它
3、均为0):A) eye(m); B) zeros(m); C)ones(m); D)rand(m);2)下列变量名中( )是合法的:A) Char_1; B) x*y; C) xy; D) end2) 定义a=abc;cde ,运行reshape(a,3,2)语句产生矩阵为( )A) ab,cd,de; B) ab;cd;de; C) ad;cc;be; D) ab;cc;de3) 定义A=1,2,3;4,5,6;7,8,9; 运行A(1,:)*A(:,3)语句计算结果为( ):A) 30,36,42; B) 36; C) 30; D) 424) 下列计算表达式中( )是错误的A)y=eval
4、(sin(t); B) y=feval(sin(t),t); C) y=feval(sin,t); D) y=feval(sin,t);5) 如果n阶方阵A可逆,则求A逆矩阵的命令是( ):A) inv(A); B) det(A); C) rank(A); D)以上都不对6) 多项式x4-12x3+25x+116的系数向量为( ):A) 1,-12,25,116; B) 116,25,-12,1; C) 1,-12,0,25,116; D) 116,25,0,-12,1;7) Varagin作为函数声明语句中最后一个输入参数,用于传送不定数目的参数,其数据类型为:A) 数值数组; B)单元数组
5、; C)结构数组; D)函数数柄8) 令y=-1,6,15,-7,31,2,-4,-5,运行ynew,indx=sort(y),请问所得indx(2)的具体数值为:A) 1; B) 4; C) 7; D) 89) 下列函数中,( )用于绘制x,y,z三维空间曲线:A) plot; B) plot3; C) mesh; D) peak三、编程计算题:1)利用结构数据类型定义变量A,用于储存某个学生以下三方面信息:姓名Dafei、排名第3以及三门课的成绩:88,99和98。答: field1=name;value1=Dafei;field2=rank;value2=3;field3=grades;
6、value3=88,99,98;A=struct(field1,value1,field2,value2,field3,value3)A = name: Dafei rank: 3 grades: 88,99,982)编程求解下列联立方程组的解:3x+4y-7z-12w=45x-7y+4z+2w=-3x +8z-5w=9-6x+5y-2z+10w=-8答: A=3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10; B=4;-3;9;-8; C=ABC = -1.4841 -0.6816 0.5337 -1.2429即原方程组的解为:x=-1.4841,y=-0.68
7、16,z=0.5337,w=-1.2429 3)编程求解多项式x4-12x3+25x+116的极值答:syms x y; y=x.4-12*x.3+25*x+116; dy=diff(y)dy =4*x3 - 36*x2 + 25 A=sym2poly(dy)A = 4 -36 0 25 roots(A)ans = 8.9215 0.8772 -0.7987 d2y=diff(dy)d2y =12*x2 - 72*x z1=limit(d2y,x,-0.7987) z2=limit(d2y,x,0.8772); z3=limit(d2y,x,8.9215); y1=vpa(z1)y2=vpa(
8、z2)y3=vpa(z3)y1 =65.16150 y2 =-53.92460 ym1=limit(y,x,-0.7987);ym2=limit(y,x,0.8772);ym3=limit(y,x,8.9215);ymax=vpa(y1)ymin1=vpa(y2)ymin2=vpa(y3)ymax =102.5535 ymin1=130.4222 ymin2 =-1846.9758即:两个极小值点分别为-0.7987、8.9215,对应的极小值分别为130.4222、-1846.9758;一个极大值点为0.8772,对应的极大值为102.55354)求出y=x*sin(x) 在0xx=0:0.
9、01:100; y=x.*sin(x); m=find(diff(sign(diff(y)=0)+1;plot(x,y,x(m),y(m),ro)A=x(m),y(m); xlswrite(C:UsersAdministratorDesktop大作业,A)图像:峰值点坐标:xy2.031.81974.91-4.81447.987.916711.09-11.04114.2114.17217.34-17.30720.4720.44523.6-23.58326.7426.72229.88-29.86233.0233.00236.16-36.14239.339.28242.44-42.42345.58
10、45.56448.72-48.70451.8651.84555-54.98758.1458.12861.28-61.26964.4264.4167.56-67.55270.770.69373.84-73.83476.9876.97580.12-80.11683.2683.25786.41-86.39989.5589.5492.69-92.68295.8395.82498.97-98.9655)题目(4):设计一个GUI包含一个开始和停止按钮,以及一个动画展示窗口,用于随机展示一下方向、大小、颜色各异的“囧”字答:为了使报告显得简洁,在这里只写出了三个按钮的回调函数语句。begin按钮回调函数:
11、function pushbutton1_Callback(hObject, eventdata, handles)figure;axis off;set(gcf,menubar,none,toolbar,none); global a;a=0;while(a=0) h=text(rand,rand,. fontsize,num2str(unifrnd(20,50),fontname隶书囧,. color,rand(1,3),Rotation,360*rand); pause(0.2);endstop按钮回调函数:function pushbutton2_Callback(hObject, eventdata, handles)global a;a=1;close按钮回调函数:function pushbutton3_Callback(hObject, eventdata, handles)close(gcf);运行结果:第一步:点击运行第二步:点击begin按钮第三步:点击stop按钮,停止动画第四步:点击close按钮,退出GUI界面