当前位置:文档之家› Matlab考题题整理带答案

Matlab考题题整理带答案

MATLAB 考试试题(1)产生一个1x10的随机矩阵,大小位于(-5 5),并且按照从大到小的顺序排列好!(注:要程序和运行结果的截屏)答案:a=10*rand(1,10)-5;b=sort(a,'descend')1.请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5]2. 已知变量:A=’ilovematlab’;B=’matlab’, 请找出:(A)B在A中的位置。

(B)把B放在A后面,形成C=‘ilovematlabmatlab’3. 请修改下面的程序,让他们没有for循环语句!A=[1 2 3; 4 5 6; 7 8 9];[r c]=size(A);for i=1:1:rfor j=1:1:cif (A(i,j)>8 | A(i,j)<2)A(i,j)=0;endendend4. 请把变量A=[1 2 3; 4 5 6; 7 8 9]写到文件里(output.xls),写完后文件看起来是这样的1 2 3 4 5 6 7 8 95.试从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=[1 2 3 4 5],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=45x-7y+4z+ 2w=-3x +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\cd = -1.4841, -0.6816, 0.5337,-1.2429即:x=-1.4841;y= -0.6816;z= 0.5337;w=-1.24292、设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 -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);[例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] 给定系统125.032)(2323++++++=s s s s s s s G ,求系统的零极点增益模型和状态空间模型,并求其单位脉冲响应及单位阶跃响应。

解:num=[1 2 1 3];den=[1 0.5 2 1];sys=tf(num,den) %系统的传递函数模型 Transfer function: s^3 + 2 s^2 + s + 3 ----------------------------- s^3 + 0.5 s^2 + 2 s + 1 sys1=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 0] 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;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) %系统的阶跃响应《MatLab及其应用》试题注意,每题的格式均须包含3个部分a. 程序(含程序名及完整程序):b. 运行过程:c. 运行结果:(1)求解线性规划问题:7 44357 4213 21321321321≥-≤-+≤+-=-+++-=x,xx xxxxxxxx .t.sxxxZm in问各x i分别取何值时,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)编写一个函数,使其能够产生如下的分段函数:⎪⎩⎪⎨⎧≤≤<-≤=x x x x x x f 65.0620.251.525.0)(,,,,并调用此函数,绘制曲线范围的,在2)()(2][0+∙+=x f x f x 。

(10分)答:function y=f(x) if x<=2 y=0.5*x; else if x>6 y=0.5; else y =1.5-0.25*x; end end运行结果 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分)①]22[)cos(ππ,,-∈x x (曲线图); ②4)y 2,-4x (-242),(2222≤≤≤≤+=;y x y x f (曲面图)。

答:>> 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('x^2/2^2+y^2/4^2')(4) A 是一个維度m×n 的矩阵. 写一段程序, 算出A 中有多少个零元素(10分) 答:>> A= input ('请输入一个矩阵') [m,n]= size(A); sig=0; for i=1:m for j=1:n if A(i,j)==0sig = sig+1; end end end请输入一个矩阵[0 1 2;1 0 2; 0 0 0] A =0 1 2 1 0 2 0 0 0 >> sig sig = 5(5) 向量]a ,,a ,[a A n 11 . 写一段程序, 找出A 中的最小元素(10分) 答:A= input ('请输入一个向量') [m,n]=sizeA min =A(1,n); for i=1:n if A(1,i)<min min=A(1,i) end end请输入一个向量[1 2 3 -5 2 0] A =1 2 3 -5 2 0 min = -5 B.应用题(50分)根据专业方向特色和相关科研工作需求,经过与导师商量后,结合一个课题具体任务,编写一份Matlab应用工作报告。

相关主题