MatLab考试题题库(必做题)(带答案)
- 格式:doc
- 大小:498.50 KB
- 文档页数:36
MatLab考试题题库(必做题)(带答案)一,1.请登陆美国 MathWorks 公司的网站,查看看现在大概有多少本 MATLAB-based books (以MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。
哪一个领域的 MATLAB-based books 最多中文书共有几本答:1612本,数学方面的最多,中文书共有37本。
2.请在 MATLAB中直接输入下列常数,看它们的值是多少:a.ib.jc.epsd.infe.nanf.pig.realmaxh.realmin依次解为:ans = 0 + ans = 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*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 的脚本,画出此曲线在 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)的外部滚动时,请画此「圆轮摆线」或「外花瓣线」。
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::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.请用 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*pi, *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 image-505-4-20249.假设一曲线资料点为x = 0:2:4*pi;y = sin(x).*exp(-x/5);试将 x 的间距调成 ,并用下列方法进行内插: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::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) ()2123222118294x x x x x X f +-++=;2) ()212122212223x x x x x x X f -+-+=; 3) ()()2241x 21+-=x X f .第1),2)题的初始点可任意选取,第3)题的初始点取为()T00,1X =.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 =feval =二,一.填空题(每空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 循环语句中,表达式的值__非零_____________时表示循环条件为真,语句体将被执行,否则跳出该循环语句;4. 打开Matlab 的一个程序文件,以添加的方式进行读写,应当使用命令_____fid= fopen('','w+');_______________________;5.要从键盘读入一个字符串并赋值给变量x ,且给出提示“Who is she ”,应使用命令________x=input(‘Who is she ’,’s ’)_________________________________;使用fprintf()函数以含有2位小数的6位浮点格式输出数值变量weight 到文件,使用的命令(集)为fid = fopen(‘’,’’,_________________);fprintf ( _______ ) ;4.设()ij m n A a ⨯=,()ij m n B b ⨯=和()ij m n C c ⨯=均为m n ⨯矩阵,且存在于WorkSpace 中,要产生矩阵()()/i j c i j ij i j m n D a c b ⨯=-,可用命令___D=(A-C)/B.^C_________________________,计算()1A B -'可用命令___________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 a>b&c= =1d=0elsed=3end2. 设1010)(⨯=j i a A 和1010)(⨯=j i b B 是两个10行10列的矩阵(数组),试说明命令A*B, A/B, A\B, A .*(B.^A), A ./B, A .\B 和sin(A).*exp(B)的涵义。