1、MatLab考试题题库必做题带答案 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 + a
2、ns = 0 + ans = ans =Inf ans = NaN ans = ans = +308 ans =3. 试写一函数 regPolygon(n),其功能为画出一个圆心在 (0, 0)、半径为 1 的圆,并在圆内画出一个内接正 n 边形,其中一顶点位于 (0, 1)。例如 regPolygon(8) 可以画出如下之正八边型: 解:新建文件如下:function y=regPolyfon(n)n=8;%要画的n边形R=1; %圆的半径t=0: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*s
3、in(m);hold onplot(x,y,xz,yz);axis equal;4. 一条参数式的曲线可由下列方程式表示: x = sin(t), y = 1 - cos(t) + t/10 当 t 由 0 变化到 4*pi 时,请写一个 MATLAB 的脚本 ,画出此曲线在 XY 平面的轨迹。解:新建:t = linspace(0, 4*pi);x = sin(t);y = 1-cos(t)+t/10;plot(x, y, -o);5. 当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。假设小圆轮的半径 r=2。 a. 当小圆轮绕着一个大圆(半径 R=5)的外部滚动时,
4、请画此圆轮摆线或外花瓣线。 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
5、(c2);axis imagetitle(内花瓣线(绿色)和外花瓣线(红色)); 6. 一个空间中的椭球可以表示成下列方程式: (x/a)2+(y/b)2+(z/c)2 = 1 请使用任何你可以想到的方法,画出三维空间中的一个平滑的椭球,其中 a = 3,b = 4,c = 8。(但不能使用 ellipsoid 指令。) 解:x=-3:3; y=-4: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. 请用
6、 ez 开头的绘图指令(例如 ezmesh、ezsurf、ezmeshc、ezsurfc、ezplot3、ezcontour 等),画出一个你认为最炫的立体图形。 Ezmesh: 8. 画出下列方程式的曲面图及等高线图: z = sin(x/2)cos(y) 其中,x 的 21 个值均匀分布在 -2*pi, 2*pi 范围,y 的 31 值均匀分布在 *pi, *pi。请使用 subplot(2,1,1) 和 subplot(2,1,2) 将产生的曲面图和等高线图在同一个窗口上,产生的图形应类似下图:解:x = linspace(-2*pi, 2*pi, 21); y = linspace*p
7、i, *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 的间距调成 ,并用下列方法进行内插: a. 线性内插法 (method=linear)。 b. Spline 内插法 (method=spline)。 c. 三次多项式内插法 (method=cub
8、ic)。 d. 多项式拟合法:直接利用 6 次多项式去通过 7 个资料点。 解: x = 0:2:4*pi;y = sin(x).*exp(-x/5);xx=0: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
9、(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 = feval = 2)解: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 = feval = 3)解:x,feval=fminunc(x)(x(1)-1)4+x(2)2,0 1) 解得:x = fe
10、val = 二,一填空题(每空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文本格式存储到文件,应使用命令_save _x_;将Excel文件读入WorkSpace并赋值给变量x,可使用命令_x=xlsread()_;3. 在while 表达式, 语句体, End 循环语句中,表达式的值_非零_时表示循环条件为真,语句体
11、将被执行,否则跳出该循环语句; 4. 打开Matlab的一个程序文件,以添加的方式进行读写,应当使用命令_fid= fopen(,w+);_; 5.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she”,应使用命令_x=input(Who is she,s)_;使用fprintf()函数以含有2位小数的6位浮点格式输出数值变量weight到文件,使用的命令(集)为fid = fopen(,_); fprintf ( _ ) ; 4设,和均为矩阵,且存在于WorkSpace中,要产生矩阵,可用命令_D=(A-C)/B.C_,计算可用命令_det(inv(A*B)_; 得分 二简
12、答题(每小题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的逆
13、,矩阵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(-
14、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
15、; 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 f
16、plot() 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 th
17、e 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 fa
18、ctorial (阶乘) of . 提示:对x取整的函数有fix(x), floor(x), round(x) 和ceil(x) .fuction y=f1(x) %if x-fix(x)= =0y=prod(1:abs(2*x);elsey=4*sin(2*x)+x;y=f1(-4)+f1(3)-f1 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
19、 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()函
20、数、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),并且按照从
21、大到小的顺序排列好!(注:要程序和运行结果的截屏)答案: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 ;10
22、8-5;-65-210;c=4; -3; 9;-8;b=rank(a)b =4(2) d=acd = , ,即: x=;y= ;z= ;w=2、设 y=cos+(3sinx)/(1+x2)把x=02间分为101点,画出以x为横坐标,y为纵坐标的曲线;解: x=linspace(0,2*pi,101);y=cos+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);
23、y=polyval(p,x);plot(x,y);axis(-2,8, -200,2300);为了便于观察,在y=0处画直线,图如下所示:与y=0直线交点有两个,有两个实根。(2)用roots函数求此多项式的根 a=roots(p)a = , , + , - 4、在-10,10;-10,10范围内画出函数的三维图形。 解:X,Y=meshgrid(-10 : :10);a=sqrt(X.2+Y.2) +eps;Z=sin(a)./a;mesh(X,Y,Z);matlab试卷,求答案一、 选择或填空(每空2分,共20分)1、标点符号 ( )可以使命令行不显示运算结果,( ) 用来表示该行为注释行
24、。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数值运算,求解线性方程组(将程序保存为
25、文件) 三、(本题20分)利用MATALAB符号运算完成(将程序保存为文件):(1)创建符号函数 (2)求该符号函数对 的微分;(3)对 趋向于 求该符号函数的极限;(4)求该符号函数在区间 上对 的定积分;(5)求符号方程 的解。四、(本题20分)编写MATALAB程序,完成下列任务(将程序保存为文件):(1)在区间 上均匀地取20个点构成向量 ;(2)分别计算函数 与 在向量 处的函数值;(3)在同一图形窗口绘制曲线 与 ,要求 曲线为黑色点画线, 曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1 and y2”。五、(本题15分)编写M函数文件,利用for循环
26、或while循环完成计算函数 的任务,并利用该函数计算 时的和(将总程序保存为文件)。六、(本题13分)已知求解线性规划模型: 的MATLAB命令为x=linprog(c,A,b,Aeq,beq,VLB,VUB)试编写MATLAB程序,求解如下线性规划问题(将程序保存为文件): 问题补充:卷子的地址看不见符号,能做就做了一些.1、标点符号 ( ; )可以使命令行不显示运算结果,( % ) 用来表示该行为注释行。2、下列变量名中 ( A ) 是合法的。(A) char_1 ; (B) x*y ; (C) xy ; (D) end 3、 为 ,步长为 的向量,使用命令 ( 本题题意不清 )创建。4
27、、输入矩阵 ,使用全下标方式用 ( 本题题意不清 )取出元素“ ”,使用单下标方式用 ( 本题题意不清 )取出元素“ ”。5、符号表达式 中独立的符号变量为 ( ) 。6、M脚本文件和M函数文件的主要区别是 ( 变量生存期和可见性 ) 和( 函数返回值 ) 。7、在循环结构中跳出循环,但继续下次循环的命令为( C ) 。(A) return; (B) break ; (C) continue ; (D) keyboad二、(本题12分)利用MATLAB数值运算,求解线性方程组(将程序保存为文件) 三、(本题20分)利用MATALAB符号运算完成(将程序保存为文件):(1)创建符号函数 syms x(2)求该符号函数对 的微分;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1