MatLab考试题题库(带答案)_第1页
MatLab考试题题库(带答案)_第2页
MatLab考试题题库(带答案)_第3页
MatLab考试题题库(带答案)_第4页
MatLab考试题题库(带答案)_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

精品文档 MatLab考试题题库(必做题)(带答案)一,1. 请登陆美国 MathWorks 公司的网站 (),查看看现在大概有多少本 MATLAB-based books (以 MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。哪一个领域的 MATLAB-based books 最多?中文书共有几本?答:1612本,数学方面的最多,中文书共有37本。2. 请在 MATLAB中直接输入下列常数,看它们的值是多少: a. i b. j c. eps d. inf e. nan f. pi g. realmax h. realmin 依次解为:ans = 0 + 1.0000i ans = 0 + 1.0000i ans =2.2204e-016 ans =Inf ans = NaN ans =3.1416 ans = 1.7977e+308 ans =2.2251e-3083. 试写一函数 regPolygon(n),其功能为画出一个圆心在 (0, 0)、半径为 1 的圆,并在圆内画出一个内接正 n 边形,其中一顶点位于 (0, 1)。例如 regPolygon(8) 可以画出如下之正八边型: 解:新建regPolygon.m文件如下:function y=regPolyfon(n)n=8;%要画的n边形R=1; %圆的半径t=0:0.01:2*pi;x=R*cos(t);y=R*sin(t);m=linspace(pi/2,5/2*pi,n+1);xz=R*cos(m);yz=R*sin(m);hold onplot(x,y,xz,yz);axis equal;4. 一条参数式的曲线可由下列方程式表示: x = sin(t), y = 1 - cos(t) + t/10 当 t 由 0 变化到 4*pi 时,请写一个 MATLAB 的脚本 plotParam.m,画出此曲线在 XY 平面的轨迹。解:新建plotParam.m:t = linspace(0, 4*pi);x = sin(t);y = 1-cos(t)+t/10;plot(x, y, -o);5. 当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。假设小圆轮的半径 r=2。 a. 当小圆轮绕着一个大圆(半径 R=5)的外部滚动时,请画此圆轮摆线或外花瓣线。 b. 重复上小题,但改成在大圆的内部滚动,请画出此内花瓣线。 提示:下图显示在不同的 R 和 r 值,所产生的圆轮摆线。解:R=5;% 大圆半徑r=2;% 小圆半徑n=r/gcd(r, R);% 圈数t=linspace(0, n*2*pi, 1000);c=R*exp(i*t);% 內花瓣线c1=(R-r)*exp(i*t)+r*exp(i*(-R*t/r+t);% 外花瓣线c2=(R+r)*exp(i*t)+r*exp(i*(pi+R*t/r+t);plot(real(c), imag(c), real(c1), imag(c1), real(c2), imag(c2);axis imagetitle(內花瓣线(绿色)和外花瓣线(红色)); 6. 一个空间中的椭球可以表示成下列方程式: (x/a)2+(y/b)2+(z/c)2 = 1 请使用任何你可以想到的方法,画出三维空间中的一个平滑的椭球,其中 a = 3,b = 4,c = 8。(但不能使用 ellipsoid 指令。) 解:x=-3:0.1:3; y=-4:0.1:4; X,Y=meshgrid(x,y); Z1=sqrt(64-64*X.*X/9-16*Y.*Y); surf(X,Y,z1);hold onZ2=-sqrt(64-64*X.*X/9-16*Y.*Y); surf(X,Y,Z2);7. 请用 ez 开头的绘图指令(例如 ezmesh、ezsurf、ezmeshc、ezsurfc、ezplot3、ezcontour 等),画出一个你认为最炫的立体图形。 Ezmesh:8. 画出下列方程式的曲面图及等高线图: z = sin(x/2)cos(y) 其中,x 的 21 个值均匀分布在 -2*pi, 2*pi 范围,y 的 31 值均匀分布在 -1.5*pi, 1.5*pi。请使用 subplot(2,1,1) 和 subplot(2,1,2) 将产生的曲面图和等高线图在同一个窗口上,产生的图形应类似下图:解:x = linspace(-2*pi, 2*pi, 21);y = linspace(-1.5*pi, 1.5*pi, 31);xx, yy = meshgrid(x, y);zz = sin(xx/2).*cos(yy);subplot(2,1,1)surf(xx, yy, zz); axis imagesubplot(2,1,2)contour(xx, yy, zz); axis image9假设一曲线资料点为 x = 0:2:4*pi;y = sin(x).*exp(-x/5);试将 x 的间距调成 0.1,并用下列方法进行内插: a. 线性内插法 (method=linear)。 b. Spline 内插法 (method=spline)。 c. 三次多项式内插法 (method=cubic)。 d. 多项式拟合法:直接利用 6 次多项式去通过 7 个资料点。 解: x = 0:2:4*pi;y = sin(x).*exp(-x/5);xx=0:0.1:4*pi;yyb=interp1(x,y,xx,linear);yyc=interp1(x,y,xx,spline);yyd=interp1(x,y,xx,cubic);yye=polyval(polyfit(x,y,6),x);plot(xx,yya,xx,yyb,xx,yyc,xx,yyd,xx,yyd,x,y,r*);legend(nearest,linear,spline,cubic,poly,source)gridtitle(2007*07*_张*)xlabel(x)ylabel(y)10求下列函数的极小点: 1) ;2) ;3) . 第1),2)题的初始点可任意选取, 第3)题的初始点取为.1)解: x,feval=fminunc(x)x(1)2+4*x(2)2+9*x(3)2-2*x(1)-18*x(2),3 1 2)解得:x = 1.0000 2.2500 0.0000feval = -21.25002)解:x,feval=fminunc(x)x(1)2+3/2*x(2)2-2*x(1)*x(2)-x(1)+2*x(2),1 2)解得:x = -0.5000 -1.0000feval = -0.75003)解:x,feval=fminunc(x)(x(1)-1)4+x(2)2,0 1) 解得:x = 1.0045 -0.0000feval = 4.0848e-010 二,一填空题(每空2分,共24分)1. 设x是一维数组,x的倒数第3个元素表示为_x(_end-2_)_;要在x的第36和37个元素之间插入一个元素154,使用的命令(集)为_x=x(_1:36,154,37:end)_;设y为二维数组,要删除y的第34行和48列,可使用命令_y(34,:)=;y(:,48)=_;2. 将变量x以Ascii文本格式存储到文件fname.txt,应使用命令_save _x_;将Excel文件data.xls读入WorkSpace并赋值给变量x,可使用命令_x=xlsread(data.xls)_;3. 在while 表达式, 语句体, End 循环语句中,表达式的值_非零_时表示循环条件为真,语句体将被执行,否则跳出该循环语句; 4. 打开Matlab的一个程序文件fname.m,以添加的方式进行读写,应当使用命令_fid= fopen(fname.m,w+);_; 5.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令_x=input(Who is she?,s)_;使用fprintf()函数以含有2位小数的6位浮点格式输出数值变量weight到文件wt.txt,使用的命令(集)为fid = fopen(wt.txt,_); fprintf ( _ ) ; 4设,和均为矩阵,且存在于WorkSpace中,要产生矩阵,可用命令_D=(A-C)/B.C_,计算可用命令_det(inv(A*B)_; 得分 二简答题(每小题8分,共24分)1. (1) 写出关系运算符中的等号、不等号、小于号、大于号、小于等于号和大于等于号;(2) 写出逻辑操作中逻辑“与”、逻辑“或”及逻辑“非”的符号; (3) 并用语句表达“如果a等于 b且c等于0就让d 等于3,否则如果a大于b且c=1让d等于 0,其余情况让d等于3”;= = = =& | if a=b&c=0d=3else if ab&c= =1d=0elsed=3end2. 设和是两个10行10列的矩阵(数组),试说明命令A*B, A/B, AB, A.*(B.A), A./B, A.B和sin(A).*exp(B)的涵义。A,B的矩阵乘法,矩阵A乘以B的逆,矩阵B乘以A的逆,B的每个元素的对应A次幂乘以A对应的每个元素A的每个元素除以B对应的每个元素,B的每个元素除以A对应的每个元素,A的每个元素的正弦与B对应的每个元素的指数求积, 3. 设A为数组,B为一个行数大于3的数组,请给出(1)删除A的第4、8、12三列的命令; (2)删除B的倒数第3行的命令;(3)求符号极限的命令集; (4)求的3阶导数的命令集;(5)计算定积分的命令,并给出计算结果(!)A(:,4 8 12)=(2)B(end-2)=(3)syms m n xlimit(tan(m*x)/(n*x)(4)syms x yy=atan(x+3)/(x-2)-log(1+exp(-2)*x)diff(y,3)(5)syms xint(abs(x)+sin(x)*x2,-1,1)-1/2得分 三基本编程题(每小题10分,共30分)1. Write a program to compute the following expressions;Here, we suppose the variable x has existed in the workspace.for i=1:10 for j=1:10 xbar(i)=xbar(i)+x(i,j); end xbar(i)=xbar(i)/10;endfor i=1:10 for j=1:10 t1=0;t2=0;t3=0; for k=1:3 t1=t1+(x(i,k)-xbar(i)*(x(j,k)-xbar(j); t2=t2+(x(i,k)-xbar(i)2; t3=t3+(x(j,k)-xbar(j)2; end r2(i,j)=t1/sqrt(t2*t3); endendr2 2. (1) Using plot() function to plot the curves of and in the range of , let their color are red and green respectively, and add the grid to the figure. (2) Using fplot() function and ezplot() function to plot above-mentioned (上述的) curves respectively.(1)x=-2*pi:pi/100:2*pi;y=(sin(2*x)+cos(3*x).*exp(-2*x);z=sin(x)/x;plot(x,y,r,x,z,g)(2)fplot(sin(2*x)+cos(3*x).*exp(-2*x), sin(x)/x,-2*pi 2*pi) 3. Plot the 3D mesh figure and 3D surface figure of the functionin the range of and , respectively.x=-4:1/100:4;y=-4:1/100:4;z=9(1-x)2*exp(-x2/2-(y+1)2)mesh(x,y,z);surf(x,y,z);得分 四综合编程题(每小题11分,共22分) 1. Write a function program to compute the following functionand call this function program to compute the value of in main program or command window, there, shows the factorial (阶乘) of . 提示:对x取整的函数有fix(x), floor(x), round(x) 和ceil(x) .fuction y=f1(x) %f1.mif x-fix(x)= =0y=prod(1:abs(2*x);elsey=4*sin(2*x)+x1.8;y=f1(-4)+f1(3)-f1(14.37) 2. Write a program to compute the sample mean,and the sample skewness (偏度) .for the following three case:(1) n and exist in Workspace of Matlab. It is no any limit;(2) n and are unknown variables. Please input x by keyboard one by one, and give a mark of end the data input. Examinees can use loop statement and length() function and input() function, but cannot use mean() function, std() function, and var() function directly (可以使用循环语句和length()函数、input()函数等进行编程,但不能直接使用mean()、std()和var()等函数). (1)s=0;for i=1:ns=s+x(i);endxbar=s/nm=0;for i=1:nm=m+(x(i)-xbar)3;endske=m/n(2)x(1)=input(请输入x );i=1;s=0;while(x(i)=a) s=s+x(i); i=i+1; x(i)=input(请输入x ,输a结束);endxbar=s/(i-1)m=0;for j=1:i-1m=m+(x(i)-xbar)3;endske=m/(i-1)三,产生一个1x10的随机矩阵,大小位于(-5 5),并且按照从大到小的顺序排列好!(注:要程序和运行结果的截屏)答案:a=10*rand(1,10)-5;b=sort(a,descend)1.请产生一个100*5的矩阵,矩阵的每一行都是1 2 3 4 52. 已知变量:A=ilovematlab;B=matlab, 请找出:(A) B在A中的位置。(B) 把B放在A后面,形成C=ilovematlabmatlab3. 请修改下面的程序,让他们没有for循环语句!A=1 2 3; 4 5 6; 7 8 9;r c=size(A);for i=1:1:r for j=1:1:c if (A(i,j)8 | A(i,j) a=34-7-12;5-742 ;108-5;-65-210;c=4; -3; 9;-8;b=rank(a)b =4(2) d=acd = -1.4841,-0.6816, 0.5337,-1.2429即: x=-1.4841;y= -0.6816;z= 0.5337;w=-1.24292、设 y=cos0.5+(3sinx)/(1+x2)把x=02间分为101点,画出以x为横坐标,y为纵坐标的曲线;解: x=linspace(0,2*pi,101);y=cos(0.5+3.*sin(x)./(1+x.*x);plot(x,y)3、设f(x)=x5-4x4+3x2-2x+6(1)取x=-2,8之间函数的值(取100个点),画出曲线,看它有几个零点。(提示:用polyval 函数)解:p=1 -4 3 -2 6;x=linspace(-2,8,100);y=polyval(p,x);plot(x,y);axis(-2,8, -200,2300);为了便于观察,在y=0处画直线,图如下所示:与y=0直线交点有两个,有两个实根。(2)用roots函数求此多项式的根 a=roots(p)a =3.0000 ,1.6956 , -0.3478 + 1.0289i , -0.3478 - 1.0289i4、在-10,10;-10,10范围内画出函数的三维图形。 解:X,Y=meshgrid(-10 : 0.5 :10);a=sqrt(X.2+Y.2) +eps;Z=sin(a)./a;mesh(X,Y,Z);matlab试卷,求答案一、 选择或填空(每空2分,共20分)1、标点符号 ( )可以使命令行不显示运算结果,( ) 用来表示该行为注释行。2、下列变量名中 ( ) 是合法的。(A) char_1 ; (B) x*y ; (C) xy ; (D) end 3、 为 ,步长为 的向量,使用命令 ( )创建。4、输入矩阵 ,使用全下标方式用 ( )取出元素“ ”,使用单下标方式用 ( )取出元素“ ”。5、符号表达式 中独立的符号变量为 ( ) 。6、M脚本文件和M函数文件的主要区别是 ( ) 和( ) 。7、在循环结构中跳出循环,但继续下次循环的命令为( ) 。(A) return; (B) break ; (C) continue ; (D) keyboad二、(本题12分)利用MATLAB数值运算,求解线性方程组(将程序保存为test02.m文件) 三、(本题20分)利用MATALAB符号运算完成(将程序保存为test03.m文件):(1)创建符号函数 (2)求该符号函数对 的微分;(3)对 趋向于 求该符号函数的极限;(4)求该符号函数在区间 上对 的定积分;(5)求符号方程 的解。四、(本题20分)编写MATALAB程序,完成下列任务(将程序保存为test04.m文件):(1)在区间 上均匀地取20个点构成向量 ;(2)分别计算函数 与 在向量 处的函数值;(3)在同一图形窗口绘制曲线 与 ,要求 曲线为黑色点画线, 曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1 and y2”。五、(本题15分)编写M函数文件,利用for循环或while循环完成计算函数 的任务,并利用该函数计算 时的和(将总程序保存为test05.m文件)。六、(本题13分)已知求解线性规划模型: 的MATLAB命令为x=linprog(c,A,b,Aeq,beq,VLB,VUB)试编写MATLAB程序,求解如下线性规划问题(将程序保存为test06.m文件): 问题补充:卷子的地址看不见符号,能做就做了一些.1、标点符号 ( ; )可以使命令行不显示运算结果,( % ) 用来表示该行为注释行。2、下列变量名中 ( A ) 是合法的。(A) char_1 ; (B) x*y ; (C) xy ; (D) end 3、 为 ,步长为 的向量,使用命令 ( 本题题意不清 )创建。4、输入矩阵 ,使用全下标方式用 ( 本题题意不清 )取出元素“ ”,使用单下标方式用 ( 本题题意不清 )取出元素“ ”。5、符号表达式 中独立的符号变量为 ( ) 。6、M脚本文件和M函数文件的主要区别是 ( 变量生存期和可见性 ) 和( 函数返回值 ) 。7、在循环结构中跳出循环,但继续下次循环的命令为( C ) 。(A) return; (B) break ; (C) continue ; (D) keyboad二、(本题12分)利用MATLAB数值运算,求解线性方程组(将程序保存为test02.m文件) 三、(本题20分)利用MATALAB符号运算完成(将程序保存为test03.m文件):(1)创建符号函数 syms x(2)求该符号函数对 的微分;(3)对 趋向于 求该符号函数的极限;(4)求该符号函数在区间 上对 的定积分;(5)求符号方程 的解。四、(本题20分)编写MATALAB程序,完成下列任务(将程序保存为test04.m文件):(1)在区间 上均匀地取20个点构成向量 ;(2)分别计算函数 与 在向量 处的函数值;(3)在同一图形窗口绘制曲线 与 ,要求 曲线为黑色点画线, 曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1 and y2”。五、(本题15分)编写M函数文件,利用for循环或while循环完成计算函数 的任务,并利用该函数计算 时的和(将总程序保存为test05.m文件)。六、(本题13分)已知求解线性规划模型: 的MATLAB命令为x=linprog(c,A,b,Aeq,beq,VLB,VUB)试编写MATLAB程序,求解如下线性规划问题(将程序保存为test06.m文件): 例2.1 已知SISO系统的状态空间表达式为(2-3)式,求系统的传递函数。A=0 1 0;0 0 1;-4 -3 -2;B=1;3;-6;C=1 0 0;D=0;num,den=ss2tf(a,b,c,d,u)num,den=ss2tf(A,B,C,D,1) 例2.2 从系统的传递函数(2-4)式求状态空间表达式。num =1 5 3;den =1 2 3 4;A,B,C,D=tf2ss(num,den)例2.3 对上述结果进行验证编程。%将例2.2上述结果赋值给A、B、C、D阵;A =-2 -3 -4;1 0 0; 0 1 0;B =1;0;0;C =1 5 3;D=0;num,den=ss2tf(A,B,C,D,1)例2.4 给定系统,求系统的零极点增益模型和状态空间模型,并求其单位脉冲响应及单位阶跃响应。解:num=1 2 1 3;den=1 0.5 2 1;sys=tf(num,den) %系统的传递函数模型 Transfer function: s3 + 2 s2 + s + 3-s3 + 0.5 s2 + 2 s + 1sys1=tf2zp(num,den)%系统的零极点增益模型 sys1 =sys2=tf2ss(sys) %系统的状态空间模型模型;或用a,b,c,d=tf2ss(num,den)形式impulse(sys2) %系统的单位脉冲响应step(sys2) %系统的单位阶跃响应例3.1 对下面系统进行可控性、可观性分析。解:a=-1 -2 2;0 -1 1;1 0 -1;b=2 0 1;c=1 2 0Qc=ctrb(a,b)%生成能控性判别矩阵rank(Qc)%求矩阵Qc的秩ans = 3%满秩,故系统能控Qo=obsv(a,c)%生成能观测性判别矩阵rank(Qo) %求矩阵Qo的秩ans = 3%满秩,故系统能观测例3.2 已知系统状态空间方程描述如下:试判定其稳定性,并绘制出时间响应曲线来验证上述判断。解:A=-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0;B=1;0;0;0;C=1 7 24 24;D=0;z,p,k=ss2zp(A,B,C,D,1);Flagz=0;n=length(A);for i=1:nif real(p(i)0Flagz=1;endenddisp(系统的零极点模型为);z,p,k系统的零极点模型为if Flagz=1disp(系统不稳定);else disp(系统是稳定的);end运行结果为:系统是稳定的step(A,B,C,D) 系统的阶跃响应资源与环境工程学院2008级硕士研究生MatLab及其应用试题注意,每题的格式均须包含3个部分a. 程序(含程序名及完整程序):b. 运行过程:c. 运行结果: (1)求解线性规划问题: 问各xi分别取何值时,Z有何极小值。(10分)答:fprintf(线性规划问题求解 n);f = -4;1;7;A = 3,-1,1;1,1,-4;b = 4,-7;Aeq = 1,1,-1;beq = 5;lb = 0,0,;ub = ;x = linprog(f,A,b,Aeq,beq,lb,ub);xz = f * x;fprintf(MIN z = %f n , z);运行结果:线性规划问题求解 Optimization terminated successfully.x = 2.2500 6.7500 4.0000MIN z = 25.750000(2)编写一个函数,使其能够产生如下的分段函数:,并调用此函数,绘制。(10分)答:function y=f(x)if x6 y=0.5; else y =1.5-0.25*x; endend运行结果 x=2f(x)=1x = 0:0.05:2;y = diag(A2(x)*A2(x+2);plot(x,y);xlabel(bfx);ylabel(bfy); .(3) 将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。(10分)(曲线图); (曲面图)。答: subplot(2,2,2) ezplot(cos(x)(1/2),-pi/2 pi/2) ylabel(y) subplot(2,2,3) x=-2:0.5:2; y=-4:1:4;ezsurfc(x2/22+y2/42)(4) A 是一个維度mn的矩阵. 写一段程序, 算出A中有多少个零元素(10分)答: A= input (请输入一个矩阵)m,n= size(A);sig=0;for i=1:m for j=1:n if A(i,j)=0 sig = sig+1; end endend请输入一个矩阵0 1 2;1 0 2; 0 0 0A = 0 1 2 1 0 2 0 0 0 sigsig = 5(5) 向量. 写一段程序, 找出A中的最小元素(10分)答:A= input (请输入一个向量)m,n=sizeAmin =A(1,n);for i=1:n if A(1,i) x=0.167 0.5 1 2 3 4 5 8 y=0.033201 0.086059 0.169779 0.322061 0.480769 0.644122 0.809061 1.269841plot(x,y);xlabel(时间t);ylabel(时间/吸附量)图3x=0.2363 0.15496 0.13619 0.12906 0.13373 0.13315y=0.25218 0.04707 0.02014 0.01267 0.00881 0.00706plot(x,y);xlabel(1/吸附量);ylabel(1/平衡浓度)图4x=0.62654 0.80977 0.86585 0.8892 0.87377 0.87564y=0.59829 1.3273 1.69589 1.89737 2.05503 2.15149plot(

温馨提示

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

评论

0/150

提交评论