MATLAB考试试题汇总.docx
《MATLAB考试试题汇总.docx》由会员分享,可在线阅读,更多相关《MATLAB考试试题汇总.docx(28页珍藏版)》请在冰豆网上搜索。
![MATLAB考试试题汇总.docx](https://file1.bdocx.com/fileroot1/2023-2/21/0b29eb28-bb6b-4f67-a797-e1163de643bf/0b29eb28-bb6b-4f67-a797-e1163de643bf1.gif)
MATLAB考试试题汇总
MATLAB考试试题⑴
产生一个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⑷*a
(2)+a(5)*a
(1).中最简单的方法计算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;
10
8
-5;
-65
-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+xA2))]把x=0~2n间分为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)=xA5-4xA4+3xA2-
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处画直线,图如下所示:
解:
>>[X,Y]=meshgrid(-10:
0.5:
10);a=sqrt(X.A2+Y.A2)+eps;
Z=sin(a)./a;
mesh(X,Y,Z);
4、输入矩阵,使用全下标方式用()取出元素“,”使用单下标方式用()取出元素
a?
?
。
5、符号表达式中独立的符号变量为()。
)和(
)°
(将程序保存为test02.m文件)
6、M脚本文件和M函数文件的主要区别是(
)°
7、在循环结构中跳出循环,但继续下次循环的命令为(
(A)return;(B)break;(C)continue;(D)keyboad
二、(本题12分)利用MATLAB数值运算,求解线性方程组
三、(本题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,A,b,Aeq,beq,VLB,VUB)
试编写MATLAB程序,求解如下线性规划问题(将程序保存为test06.m文件)
问题补充:
卷子的地址
看不见符号,能做就做了一些.
1、标点符号(;)可以使命令行不显示运算结果,(%)用来表示该行为注释行。
2、下列变量名中(A)是合法的。
(A)char_1;(B)x*y;(C)x\y;(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)创建符号函数symsx
(2)求该符号函数对的微分;
(3)对趋向于求该符号函数的极限;
(4)求该符号函数在区间上对的定积分;
(5)求符号方程的解。
四、(本题20分)编写MATALAB程序,完成下列任务(将程序保存为testO4.m文件):
(1)在区间上均匀地取20个点构成向量;
(2)分别计算函数与在向量处的函数值;
(3)在同一图形窗口绘制曲线与,要求曲线为黑色点画线,曲线为红色虚线圆圈;并在图中恰
当位置标注两条曲线的图例;给图形加上标题“y1andy2。
”
五、(本题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=[010;001;-4-3-2];B=[1;3;-6];C=[100];D=0;
[num,den]=ss2tf(a,b,c,d,u)
[num,den]=ss2tf(A,B,C,D,1)
[例2.2]从系统的传递函数(2-4)式求状态空间表达式。
num=[153];
den=[1234];
[A,B,C,D]=tf2ss(num,den)
[例2.3]对上述结果进行验证编程。
%各[例2.2]上述结果赋值给AB、C、D阵;
A=[-2-3-4;100;010]
;B=[1;0;0];C=[153];D=0;
[num,den]=ss2tf(A,B,
C,D,1)
[例2.4]给定系统G(s)
s32s2s3
-32,求系统的零极点增益模型和状态空间模型,并求其
s30.5s22s1
单位脉冲响应及单位阶跃响应。
解:
num=[1213];den=[10.521];
sys=tf(num,den)%系统的传递函数模型
Transferfunction:
sA3+2sA2+s+3sA3+0.5sA2+2s+1
sys1=tf2zp(num,den)%系统的零极点增益模型sys1=
sys2=tf2ss(sys)%系统的状态空间模型模型;或用[a,b,c,d]=tf2ss(num,den)形式
impulse(sys2)%系统的单位脉冲响应
step(sys2)%系统的单位阶跃响应
[例3.1]对下面系统进行可控性、可观性分析。
解:
a=[-1-22;0-11;10
-1];b=[201]';c=[120]
Qc=ctrb(a,b)
%生成能控性判别矩阵
rank(Qc)
%求矩阵Qc的秩
ans=3
%满秩,故系统能控
Qo=obsv(a,c)
%生成能观测性判别矩阵
rank(Qo)
%求矩阵Qo的秩
ans=3
%满秩,故系统能观测
[例3.2]已知系统状态空间方程描述如下:
试判定其稳定性,并绘制出时间响应曲线来验证上述判断。
解:
A=[-10-35-50-24;1000;0100;0010];
B=[1;0;0;0];C=[172424];D=[0];
[z,p,k]=ss2zp(A,B,C,D,1);
Flagz=0;
n=length(A);
fori=1:
n
ifreal(p(i))>0
Flagz=1;
end
end
disp('系统的零极点模型为');z,p,k系统的零极点模型为
ifFlagz==1
disp('系统不稳定');
elsedisp('系统是稳定的');
end
运行结果为:
系统是稳定的
step(A,B,C,D)%系统的阶跃响应
资源与环境工程学院2008级硕士研究生《MatLab及其应用》试题
注意,每题的格式均须包含3个部分
a.程序(含程序名及完整程序):
b.运行过程:
c.运行结果:
⑴求解线性规划问题:
minZ二-4x1x27x3
st.X1X2—X3=5
3X1-X2X3冬4
x1x2-4x3_-7
X1,X2_0
问各Xi分别取何值时,Z有何极小值。
(10分)答:
fprintf('线性规划问题求解\n');
f=[-4;1;7];
A=[3,-1,1;1,1,-4;];
b=[4,-7]';
Aeq=[1,1,-1];
beq=⑸';
lb=[0,0,];
ub=[];
x=linprog(f,A,b,Aeq,beq,lb,ub);
x
z=f*x;
fprintf('MINz=%f\n',z);
运行结果:
线性规划问题求解
Optimizationterminatedsuccessfully.x=
2.2500
6.7500
4.0000
MINz=25.750000
x^2
:
x_6,
6岂x
0.5x,
(2)编写一个函数,使其能够产生如下的分段函数:
f(x)=*1.5-0.25X,2
0.5,
并调用此函数,绘制在x二[0」2]范围的f(x)・f(x2)曲线。
(10分)
答:
functiony=f(x)
ifx<=2
y=0.5*x;
elseifx>6
y=0.5;
elsey=1.5-0.25*x;
end
end
运行结果x=2
f(x)=1
x=0:
0.05:
2;
y=diag(A2(x)'*A2(x+2));
plot(x,y);
xlabel('\bfx');
ylabel('\bfy');
(3)将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形(10分)
①...COS(X),[-—,—](曲线图);
22
②f(x,y)二笃爲;2_x_2,-4_y_4)(曲面
24
图)。
答:
>>subplot(2,2,2)
>>ezplot('(cos(x)F(1/2)',[-pi/2pi/2])
>>ylabel('y')
>>subplot(2,2,3)
>>x=-2:
0.5:
2;
>>y=-4:
1:
4;
>>ezsurfc('xA2/2A2+yA2/4A2')
(4)A是一个維度mKn的矩阵■写一段程序,算出A中有多少个零元素(10分)答:
>>A=input(请输入一个矩阵')
[m,n]=size(A);
sig=0;
fori=1:
m
forj=1:
n
ifA(i,j)==0
sig=sig+1;
end
end
end
请输入一个矩阵[012;102;000]
A=
0
1
2
1
0
2
0
0
0
>>
sig
sig
5
⑸向量A二[ai,ai,…,an].写一段程序,找出A中的最小元素(10分)
答:
A=input('请输入一个向量')
[m,n]=sizeA
min=A(1,n);
fori=1:
n
ifA(1,i)min=A(1,i)
end
end
请输入一个向量[123-520]
A=
123-520
min=
-5
B.应用题(50分)
根据专业方向特色和相关科研工作需求,经过与导师商量后,结合一个课题具体任务,编写一份Matlab应用工作报告。
报告由:
a课题任务要求,b技术路线,c程序,d运行结果,e总结、等部分构成,完成的报告经导师给出简单评
语并签子后缴来。
a,课题任务:
研究了一种生物质,油菜秸秆对水溶液中金属离子铜的吸附行为,分别从pH,用量,温度几个方面考察秸秆的吸附性,并对分析的最佳条件进行了探讨。
同时从吸附热力学和吸附动力学角度探讨吸附机理。
结果表
明,100ml溶液pH=5.30,秸秆用量0.75g时,秸秆对铜的吸附量可达到6mg/g左右。
b,技术路线:
通过实验,获得一系列的数据,然后通过Matlab来做各种关
系图。
从图中找到g各种关系式。
c,程序:
x=[2.202.723.444.135.38]y=[2.393.836.076.396.84]
Plot(x,y);xlabel('pH');ylabel('吸附量')
x=[0.50.751.01.251.5]
y=[6.056.195.334.694.02]plot(x,y);
xlabel('秸秆用量g');
ylabel('吸附量')
6j5
图2
通过数据图,得到比较理想的实验条件pH和秸秆用量,接下来做动力
学和等温线。
>x=[0.1670.5123458]
y=[0.0332010.0860590.1697790.3220610.4807690.6441220.8090611.269841]
Plot(x,y);
xlabel('时间t');
ylabel(时间/吸附量')
x=[0.23630.154960.136190.129060.133730.13315]y=[0.252180.047070.020140.012670.008810.00706]plot(x,y);
xlabel('1/吸附量');
ylabel('1/平衡浓度')
x=[0.626540.809770.865850.88920.873770.87564]y=[0.598291.32731.695891.897372.055032.15149]Plot(x,y);
xlabel('Lg吸附量');
ylabel('Lg平衡浓度')
图5
d,总结:
从图1和图2,分析看可以得到比较理想的对于本次实验的pH和
秸秆用量。
后面实验是在前面的基础上得到的。
图3是吸附动力学反应速率
图,从图中可以看到线性拟合程度很好,符合二级反应速率方程。
图4和图5
是吸附等温线作图,看以看出图4的线性拟合较图5的好,说明符合Langmuir吸附等温模型。
[例2.1]已知SISO系统的状态空间表达式为(2-3)式,求系统的传递函数。
A=[010;001;-4-3-2];B=[1;3;-6];C=[100];D=0;
[num,den]=ss2tf(a,b,c,d,u)
[num,den]=ss2tf(A,B,C,D,1)
[例2.2]从系统的传递函数(2-4)式求状态空间表达式。
num=[153];
den=[1234];
[A,B,C,D]=tf2ss(num,den)
[例2.3]对上述结果进行验证编程。
[例3.2]已知系统状态空间方程描述如下:
试判定其稳定性,并绘制出时间响应曲线来验证上述判断。
解:
A=[-10-35-50-24;1000;0100;0010];
B=[1;0;0;0];C=[172424];D=[0];
[z,p,k]=ss2zp(A,B,C,D,1);
Flagz=0;
n=length(A);
fori=1:
n
ifreal(p(i))>0
Flagz=1;
end
end
disp('系统的零极点模型为');z,p,k
系统的零极点模型为
ifFlagz==1
disp('系统不稳定');
elsedisp('系统是稳定的');
end
运行结果为:
系统是稳定的step(A,B,C,D)%系统的阶跃响应。
1、使用下列哪一个函数可以产生单位矩阵(B)
A.zerosB.eyeC.randD.diag
2、下列哪一个函数是求模函数(D)
A.remB.signC.fixD.mod
3、使用下列哪一个函数可以交换矩阵左右对称位置上的元素(A)
A.fliplrB.flipdimC.flipudD.find
4、使用下列哪一个函数可以比较字符串,且比较时忽略字符的大小写(D)
A.strncmpB.strcmpC.strncmpiD.strcmpi
5、要利用图形方式显示元胞数组,则应该使用下列哪一个函数(B)
A.cellfunB.cellplotC.celldispD.cell2mat
6、下列哪一个函数可以获取结构字段的数据(B)
A.fieldnamesB.getfieldC.setfieldD.rmfield
7、执行下列哪一条命令后,图形窗体的轴将显示坐标网格线(A)
A.gridonB.holdonC.gridoffD.holdoff
8、进行格式化绘图时,使用哪一个函数可以添加图例(B)
A.titleB.legendC.labelD.text
9、使用下列哪一条指令可以将图形窗体分割成二行三列,并且将第一行第二列的绘图区域设置为当前的绘图区域(B)
A.subplot(2,3,1)B.subplot(2,3,2)
C.subplot(2,3,4)D.subplot(2,3,5)
10、使用下列哪一个函数可以绘制三维网线图(C)
A.surfB.plotC.meshD.plot3
1、>>A=[123;456];B=[25;83](2分)
B=
25
83
2、假设向量A=[9876543210]>>A([1:
3:
5])(2分)
ans=
96
>>A([135])(2分)
ans=
975
3、>>A=ones(2,2);A(:
)=1:
4;
>>A*A'(2分)ans=
1014
1420
>>B=A.*A'(2分)
B=
16
616
4、使用三元组法,将下列满阵转变为稀疏矩阵
15
0
0
22
0
-15
0
11
3
0
0
0
S=0
0
0
-6
0
0
91
0
0
0
0
0
0
0
0
28
0
0
解:
>>ir=[14221351];
>>jc=[11234446];
>>data=[159111322-628-15];
>>s=sparse(ir,jc,data,5,6)
s=
(1,1)
15
(4,1)
91
(2,2)
11
(2,3)
3
(1,4)
22
(3,4)
-6
(5,4)
28
(1,6)
-15
5、>>A=reshape(1:
24,4,6);
>>A(:
[234])=[]
A=
1
17
21
2
18
22
3
19
23
4
20
24
6、使用函数struct创建一个结构。
此结构名为Student;
有三个字段,分另U为nameage、grade;
有两条记录,分别为'Way、23、3和'Deni'、21、1
解:
>>Student=struct('name',{'Way','Deni'},'age',{23,21},'grade',{3,1})
7、绘出下幅图
>>plot([14285])
三、写出使以下这段文字成为字符串的MATLABt令。
注意保持这段文字的格
式。
(10分)
‘reyouateacher?
No,l'mastudent.'
解:
>>a='''Areyoua