当前位置:首页 > Matlab 考题题整理 带答案
(1)创建符号函数 syms x (2)求该符号函数对 的微分; (3)对 趋向于 求该符号函数的极限; (4)求该符号函数在区间 上对 的定积分; (5)求符号方程 的解。
四、(本题20分)编写MATALAB程序,完成下列任务(将程序保存为文件): (1)在区间 上均匀地取20个点构成向量 ; (2)分别计算函数 与 在向量 处的函数值;
(3)在同一图形窗口绘制曲线 与 ,要求 曲线为黑色点画线, 曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1 and y2”。
五、(本题15分)编写M函数文件,利用for循环或while循环完成计算函数 的任务,并利用该函数计算 时的和(将总程序保存为文件)。 六、(本题13分)已知求解线性规划模型:
的MATLAB命令为
x=linprog(c,A,b,Aeq,beq,VLB,VUB)
试编写MATLAB程序,求解如下线性规划问题(将程序保存为文件):
[例] 已知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-4)式求状态空间表达式。 num =[1 5 3]; den =[1 2 3 4];
[A,B,C,D]=tf2ss(num,den) [例] 对上述结果进行验证编程。 %将[例]上述结果赋值给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)
s3?2s2?s?3[例] 给定系统G(s)?3,求系统的零极点增益模型和状态空间模型,并求其单位2s?0.5s?2s?1脉冲响应及单位阶跃响应。
解:
num=[1 2 1 3];den=[1 2 1]; sys=tf(num,den) %系统的传递函数模型 Transfer function: s^3 + 2 s^2 + s + 3
----------------------------- s^3 + s^2 + 2 s + 1 sys1=tf2zp(num,den) sys2=tf2ss(sys) impulse(sys2) step(sys2) 解:
%系统的零极点增益模型 sys1 =
%系统的状态空间模型模型;或用[a,b,c,d]=tf2ss(num,den)形式
%系统的单位脉冲响应 %系统的单位阶跃响应
[例] 对下面系统进行可控性、可观性分析。 a=[-1 -2 2;0 -1 1;1 0 -1];b=[2 0 1]';c=[1 2 0] Qc=ctrb(a,b) rank(Qc) ans = 3
%生成能控性判别矩阵 %求矩阵Qc的秩
%满秩,故系统能控
%生成能观测性判别矩阵
Qo=obsv(a,c) rank(Qo) ans = 3
%求矩阵Qo的秩
%满秩,故系统能观测
[例] 已知系统状态空间方程描述如下:
试判定其稳定性,并绘制出时间响应曲线来验证上述判断。 解:
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:n if real(p(i))>0 Flagz=1; end end
disp('系统的零极点模型为');z,p,k 系统的零极点模型为 if Flagz==1 disp('系统不稳定'); else disp('系统是稳定的'); end 运行结果为:
系统是稳定的
step(A,B,C,D) %系统的阶跃响应
资源与环境工程学院2008级硕士研究生《MatLab及其应用》试题
注意,每题的格式均须包含3个部分 a. 程序(含程序名及完整程序): b. 运行过程: c. 运行结果:
(1)求解线性规划问题: minZ??4x1?x2?7x3 s.t.x1?x2?x3?5
3x1?x2?x3?4x1?x2?4x3??7x1,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 = [5]'; lb = [0,0,]; ub = [];
x = linprog(f,A,b,Aeq,beq,lb,ub); x
z = f' * x;
fprintf('MIN z = %f \\n' , z);
运行结果:线性规划问题求解 Optimization terminated successfully. x = MIN z =
(2)编写一个函数,使其能够产生如下的分段函数:?0.5x,f(x)???1.5?0.25x,??0.5,x?22?x?6,
6?x?2]范围的f(x)?f(x?2)曲线。并调用此函数,绘制在x?[0,(10分)
答:function y=f(x) if x<=2 y=*x; else if x>6 y=; else y = end end
运行结果 x=2
f(x)=1
x = 0::2;
y = diag(A2(x)'*A2(x+2)); plot(x,y); xlabel('\\bfx'); ylabel('\\bfy');
(3) 将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。(10分)
x2y2(-2?x?2,-4?y?4)①cos(x),x?[?,](曲线图); ②f(x,y)?2?2;(曲
2422??面图)。
答:>> subplot(2,2,2)
>> ezplot('(cos(x))^(1/2)',[-pi/2 pi/2]) >> ylabel('y')
共分享92篇相关文档