MatLab考试题题库必做题带答案.docx
- 文档编号:3931544
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:31
- 大小:346.04KB
MatLab考试题题库必做题带答案.docx
《MatLab考试题题库必做题带答案.docx》由会员分享,可在线阅读,更多相关《MatLab考试题题库必做题带答案.docx(31页珍藏版)》请在冰豆网上搜索。
MatLab考试题题库必做题带答案
MatLab考试题题库(必做题)(带答案)
一,
1.请登陆美国MathWorks公司的网站(),查看看现在大概有多少本MATLAB-basedbooks(以MATLAB为基本软件,来说明各个专业领域的教科书或工具书)。
哪一个领域的MATLAB-basedbooks最多?
中文书共有几本?
答:
1612本,数学方面的最多,中文书共有37本。
2.请在MATLAB中直接输入下列常数,看它们的值是多少:
a.i
b.j
c.eps
d.inf
e.nan
f.pi
g.realmax
h.realmin
依次解为:
ans=0+1.0000ians=0+1.0000ians=2.2204e-016ans=Infans=NaNans=3.1416ans=1.7977e+308ans=2.2251e-308
3.试写一函数regPolygon(n),其功能为画出一个圆心在(0,0)、半径为1的圆,并在圆内画出一个内接正n边形,其中一顶点位于(0,1)。
例如regPolygon(8)可以画出如下之正八边型:
解:
新建regPolygon.m文件如下:
functiony=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);
holdon
plot(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));
axisimage
title('內花瓣线(绿色)和外花瓣线(红色)');
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);
holdon
Z2=-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);axisimage
subplot(2,1,2)
contour(xx,yy,zz);axisimage
9.假设一曲线资料点为
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')
grid
title('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),[312])
解得:
x=
1.00002.25000.0000
feval=
-21.2500
2)解:
[x,feval]=fminunc(@(x)x
(1)^2+3/2*x
(2)^2-2*x
(1)*x
(2)-x
(1)+2*x
(2),[12])
解得:
x=
-0.5000-1.0000
feval=
-0.7500
3)解:
[x,feval]=fminunc(@(x)(x
(1)-1)^4+x
(2)^2,[01])
解得:
x=
1.0045-0.0000
feval=
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,且给出提示“Whoisshe?
”,应使用命令________x=input(‘Whoisshe?
’,’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”;
==~=<><=>=
&|~
ifa==b&c==0
d=3
elseifa>b&c==1
d=0
else
d=3
end
2.设
和
是两个10行10列的矩阵(数组),试说明命令A*B,A/B,A\B,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(:
[4812])=[]
(2)B(end-2)=[]
(3)symsmnx
limit(tan(m*x)/(n*x))
(4)symsxy
y=atan((x+3)/(x-2))-log(1+exp((-2)*x)
diff(y,3)
(5)symsx
int((abs(x)+sin(x))*x^2,-1,1)
-1/2
三.基本编程题(每小题10分,共30分)
1.Writeaprogramtocomputethefollowingexpressions
;
Here,wesupposethevariablexhasexistedintheworkspace.
fori=1:
10
forj=1:
10
xbar(i)=xbar(i)+x(i,j);
end
xbar(i)=xbar(i)/10;
end
fori=1:
10
forj=1:
10
t1=0;t2=0;t3=0;
fork=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);
end
end
r2
2.
(1)Usingplot()functiontoplotthecurvesof
and
intherangeof
lettheircolorareredandgreenrespectively,andaddthegridtothefigure.
(2)Usingfplot()functionandezplot()functiontoplotabove-mentioned(上述的)curvesrespectively.
(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*pi2*pi])
3.Plotthe3Dmeshfigureand3Dsurfacefigureofthefunction
intherangeof
and
respectively.
x=-4:
1/100:
4;
y=-4:
1/100:
4;
z=9(1-x)^2*exp(-x’^2/2-(y’+1)^2)
mesh(x,y,z);
surf(x,y,z);
四.综合编程题(每小题11分,共22分)
1.Writeafunctionprogramtocomputethefollowingfunction
andcallthisfunctionprogramtocomputethevalueof
inmainprogramorcommandwindow,there,
showsthefactorial(阶乘)of
.
提示:
对x取整的函数有fix(x),floor(x),round(x)和ceil(x).
fuctiony=f1(x)%f1.m
ifx-fix(x)==0
y=prod(1:
abs(2*x));
else
y=4*sin(2*x)+x^1.8;
y=f1(-4)+f1(3)-f1(14.37)
2.Writeaprogramtocomputethesamplemean
andthesampleskewness(偏度)
.
forthefollowingthreecase:
(1)nand
existinWorkspaceofMatlab.Itisnoanylimit;
(2)nand
areunknownvariables.Pleaseinputxbykeyboardonebyone,andgiveamarkofendthedatainput.Examineescanuseloopstatementandlength()functionandinput()function,butcannotusemean()function,std()function,andvar()functiondirectly(可以使用循环语句和length()函数、input()函数等进行编程,但不能直接使用mean()、std()和var()等函数).
(1)s=0;
fori=1:
n
s=s+x(i);
end
xbar=s/n
m=0;
fori=1:
n
m=m+(x(i)-xbar)^3;
end
ske=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’结束');
end
xbar=s/(i-1)
m=0;
forj=1:
i-1
m=m+(x(i)-xbar)^3;
end
ske=m/(i-1)
三,
产生一个1x10的随机矩阵,大小位于(-55),并且按照从大到小的顺序排列好!
(注:
要程序和运行结果的截屏)
答案:
a=10*rand(1,10)-5;
b=sort(a,'descend')
1.请产生一个100*5的矩阵,矩阵的每一行都是[12345]
2. 已知变量:
A=’ilovematlab’;B=’matlab’,请找出:
(A) B在A中的位置。
(B) 把B放在A后面,形成C=‘ilovematlabmatlab’
3. 请修改下面的程序,让他们没有for循环语句!
A=[123;456;789];
[rc]=size(A);
fori=1:
1:
r
forj=1:
1:
c
if(A(i,j)>8|A(i,j)<2)
A(i,j)=0;
end
end
end
4. 请把变量A=[123;456;789]写到文件里(output.xls),写完后文件看起来是这样的
123456789
5.试从Yahoo网站上获得微软公司股票的2008年9月的每日收盘价。
6.编写M文件,从Yahoo网站批量读取60000.SH至600005.SH在2008年9月份的每日收盘价(提示:
使用字符串函数)。
7. 将金牛股份(000937)2005年12月14日至2006年1月10日的交易记录保存到Excel中,编写程序将数据读入MATLAB中,进一步将数据读入Access数据库文件。
8.已知资产每日回报率为0.0025,标准差为0.0208,资产现在价值为0.8亿,求5%水平下资产的10天在险价值(Var)。
9.a=[12345],b=a
(1)*a(5)+a
(2)*a(4)+a(3)*a(3)+a(4)*a
(2)+a(5)*a
(1).试用MATLAB中最简单的方法计算b,注意最简单哦。
1、求下列联立方程的解
3x+4y-7z-12w=4
5x-7y+4z+2w=-3
x +8z-5w=9
-6x+5y-2z+10w=-8
求系数矩阵的秩;
求出方程组的解。
解:
(1)
>>a=[3 4 -7 -12];
5 -7 4 2;
1 0 8 -5;
-6 5 -2 10];
c=[4;-3;9;-8];
b=rank(a)
b= 4
(2)>>d=a\c
d=-1.4841, -0.6816,0.5337,-1.2429
即:
x=-1.4841;y=-0.6816;z=0.5337;w=-1.2429
2、设y=cos[0.5+((3sinx)/(1+x^2))] 把x=0~2π间分为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)=x^5-4x^4+3x^2-2x+6
(1)取x=[-2,8]之间函数的值(取100个点),画出曲线,看它有几个零点。
(提示:
用polyval函数)
解:
>>p=[1-43-26];
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.0289i
4、在[-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)x\y;(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)在同一图形窗口绘制曲线与,要求曲线为黑色点画线,曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1andy2”。
五、(本题15分)编写M函数文件,利用for循环或while循环完成计算函数的任务,并利用该函数计算时的和(将总程序保存为test05.m文件)。
六、(本题13分)已知求解线性规划模型:
的MATLAB命令为
x=linprog(c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MatLab 考试题 题库 必做题带 答案