matlab考试题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%1、编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
function f=NO_1(X);
Y(1)=X;k=1;
while (X~=1)
k=k+1;
if (mod(X,2)==0)
X=X/2;
else
X=3*X+1;
end
Y(k)=X;
end
plot(Y,'b.')
end
% 2、编制程序产生一个数组,满足:a1=1,a2=1,从第三个元素开始,每个元素等于前两个元素的和,直到数组的前后两个元素的比值比小于1e-4,并且以红色点线的形式画出这个数组。
clear;
A(1)=1;
A(2)=1;
i=3;
Z=1;
while (abs(Z)>=1e-4)
A(i)=A(i-1)+A(i-2);
Z=A(i-1)/A(i);
i=i+1;
end
plot (A,'r.')
% 3、编写一个函数,能够产生分段函数。
function y=test_3_1(X)
if (X<=2)
y=*X;
elseif (X>6)
y=;
else
y=调用分段函数,绘制曲线。
clear;
i=1;
for j=0::2;
x(i)=j;
y(i)=test_3_1(j)*test_3_1(j+2);
i=i+1;
end
plot(x,y)
% 4、在2pi周期内画正弦函数曲线,并加注坐标轴标识和标题,然后在3pi/4,pi,5pi/4处分别加入带箭头的说明性文本,最后加注图例。
clear;
t = 0:pi/50:2*pi;
n = length(t);
y = sin(t);
plot(t,y,'-bo','linewidth',1 )
xlabel('X');ylabel('Y');
title('正弦函数曲线');
text,, ' \leftarrow 3pi/4','FontSize',18);
text,, ' \leftarrow 3pi/4','FontSize',18);
text,,' \leftarrow 3pi/4','FontSize',18);
hleg1 = legend('sin(x)');
% 5、A为任意一个n*m矩阵,写程序来计算A中有多少个零元素,并输出个数。
A=input('输入一个矩阵 A = ')
n=length(find(A==0))
% 6、A为任意一个向量,写程序找出A 中的最小元素,并且输出这个最小元素。
A=input('输入一个向量 A = ');
x=length(A);
i=1;
y=A(i);
while (i i=i+1; if (y>A(i)) y=A(i); end end disp('最小元素是:') disp(y) % 7、某系统由四个典型环节构成,试根据四阶龙格—库塔公式,求输出量y的阶 跃响应,取仿真时间Tf=10s, %步长h=。 r = 1; P = [ 1 1;0 1 1 0;2 1 2 0;10 1 10 0]; W = [0 0 0 -1;1 0 0 0;0 1 0 0;0 0 1 0]; W0 = [1;0;0;0]; Wc = [0 0 0 1]; Tf = 10; h = ; A1 = diag(P(:,1)); B1 = diag(P(:,2)); C1 = diag(P(:,3)); D1 = diag(P(:,4)); H = B1 - D1*W; Q = C1*W - A1; A = inv (H) * Q; B = inv (H) * C1 * W0; x = [zeros(length(A),1)]; y=[zeros(length(Wc(:,1)),1)] ; t = 0; for i = 1:Tf/h K1 = A*x + B*r; K2 = A*(x + h*K1/2) + B*r; K3 = A*(x + h*K2/2) + B*r; K4 = A*(x + h*K3) + B*r; x = x + h * (K1 + 2*K2 +2*K3 + K4)/6; y = [y,Wc*x]; t = [t,t(i)+h]; end plot(t,y) % 8、系统模型 1)判断系统的稳定性2)判定系统是否为最小相位系统。 num=[3 16 41 28] ;den=[1 14 110 528 1494 2117 112]; [z,p,k]=tf2zp(num,den); pp=find(real(p)>0);n1=length (pp); if(n1>0) disp('系统不稳定⊙﹏⊙||| 不稳定极点是:') disp(p(ii)); else disp('我靠,系统竟然稳定! .'); end zz=find(real(z)>0); n2=length(zz); if (n2>0) disp('系统是最小相位系统~-。-!') else disp('系统为非最小相位系统 @_@ ') end pzmap(p,z) % 9、对于典型二阶系统,请编写程序绘制时系统的单位阶跃响应。 clear; w=[2:2:10];zeta=; figure(1); hold on for Wn=w num=Wn.^2; den=[1,2*zeta*Wn,Wn.^2]; step(num,den) end title('单位阶跃响应'); hold off % 10、已知系统的传递函数,绘制对数幅频特性曲线,计算稳定裕度及其相对应的穿越频率和截止频率。 G=tf([8 ],[1 5 20 19 15 0]) subplot(1,1,1); bodemag(G) %[Gm,Pm,Wcg,Wcp]=margin(G)求稳定裕度两种方法 s=allmargin(G) % 11、已知单位负反馈系统的开环传函,要求设计一串联超前校正装置,满足性能指标。 num0=200; den0=conv([1 0],[ 1]); [Gm1,Pm1,Wcg1,Wcp1]=margin(n um0,den0);