MATLAB仿真课后习题Word文档下载推荐.docx
《MATLAB仿真课后习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MATLAB仿真课后习题Word文档下载推荐.docx(28页珍藏版)》请在冰豆网上搜索。
![MATLAB仿真课后习题Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/20/5ca31e24-a61e-494b-9964-0096194f38dc/5ca31e24-a61e-494b-9964-0096194f38dc1.gif)
0.5000
(2)通过反复按键盘的箭头键,实现指令回调和编辑,进行新的计算;
y2=2*cos(0.3*pi)/(1+sqrt(5))
y2=
0.3633
11.编写题4中(3)的M脚本文件,并运行之。
第二章习题
1.在指令窗中键入x=1:
0.2:
2和y=2:
1,观察所生成的数组。
解:
x=1:
2
x=
1.00001.20001.40001.60001.80002.0000
y=2:
1
y=
Emptymatrix:
1-by-0
2.要求在[0,2π]上产生50个等距采样数据的一维数组,试用两种不同的指令实现。
y1=0:
2*pi/49:
2*pi
y2=linspace(0,2*pi,50)
3.计算e-2tsint,其中t为[0,2π]上生成的10个等距采样的数组。
t=linspace(0,2*pi,10);
x=exp(-2*t).*sin(t)
00.15910.06030.01310.0013-0.0003-0.0002-0.0001-0.0000-0.0000
4.已知A=
B=
计算矩阵A、B乘积和点乘.
A=[1,2;
3,4];
B=[5,6;
7,8];
x=A*B
1922
4350
x=A.*B
512
2132
5.已知A=
,B=
,计算A&
B,A|B,~A,A==B,A>
B.
A=[0,2,3,4;
1,3,5,0];
B=[1,0,5,3;
1,5,0,5];
a1=A&
B
a2=A|B
a3=~A
a4=(A==B)
a5=(A>
B)
a1=
0011
1100
a2=
1111
a3=
1000
0001
a4=
0000
a5=
0101
0010
7.将题5中的A阵用串转换函数转换为串B,再size指令查看A、B的结构,有何不同?
1,3,5,0]
B=num2str(A)
size(A)
size(B)
0234
1350
B=
0234
1350
24
210
第三章习题
1.已知系统的响应函数为
其中
要求用不同线型或颜色,在同一图上绘制ε取值分别为0.2、0.4、0.6、0.8时,系统在t∈[0,18]区间的响应曲线,并要求用ε=0.2和ε=0.8对他们相应的两条曲线进行文字标志。
clc
closeall
clearall
t=0:
0.02:
18;
xi=[0.2,0.4,0.6,0.8]'
sxi=sqrt(1-xi.^2);
sita=atan(sxi./xi);
y=1-exp(-xi*t).*sin(sxi*t+sita*ones(1,901))./(sxi*ones(1,901))
plot(t,y
(1),'
r-'
t,y
(2),'
b*'
t,y(3),'
g+'
t,y(4),'
k.'
text(4.2,1.4,'
\xi=0.2'
text(3.8,0.9,'
\xi=0.8'
2.用plot3、mesh、surf指令绘制
三维图(x,y围自定)。
clc;
closeall;
clearall;
x=-5:
0.1:
5;
y=-5:
[X,Y]=meshgrid(x,y);
a=sqrt((1-X).^2+Y.^2);
b=sqrt((1+X).^2+Y.^2);
Z=1./(a+b);
a1=sqrt((1-x).^2+y.^2);
b1=sqrt((1+x).^2+y.^2);
z=1./(a1+b1);
subplot(1,3,1),plot3(x,y,z),xlabel('
);
boxon;
subplot(1,3,2),surf(X,Y,Z),xlabel('
subplot(1,3,3),mesh(X,Y,Z),xlabel('
3.对向量t进行以下运算可以构成三个坐标的值向量:
x=sin(t),y=cos(t),z=t.利用指令plot3,并选用绿色的实线绘制相应的三维曲线.
t=(0:
0.01:
2)*pi;
x=sin(t);
y=cos(t);
z=t;
plot3(x,y,z,'
b-'
boxon
第四章习题
1.请分别用for和while循环语句计算K=
的程序,再写出一种避免循环的计算程序。
(提示:
可考虑利用MATLAB的sum(X,n)函数,实现沿数组X的第n维求和。
1)K=0;
fori=0:
63;
K=K+2^i;
end
K
K=1.8447e+019
2)i=0;
K=0;
whilei<
=63;
i=i+1;
end;
3)i=0;
X=0:
X(i+1)=2^i;
sum(X,2)
ans=1.8447e+019
第五章习题
1.将下列系统的传递函数模型用MATLAB语言表达出来。
(1)
num=[1,35,291,1093,1700];
den=[1,289,254,2541,4684,1700];
sys=tf(num,den)
(2)
z=-3;
p=[-1,-5,-15];
k=15;
sys=zpk(z,p,k)
(3)
z=[0,-2,-2];
p=[-1,1];
k=100;
sys1=zpk(z,p,k);
num=[1,3,2];
den=[1,2,5,2];
sys2=tf(num,den);
sys=series(sys1,sys2)
4.求题3中的系统模型的等效传递函数模型和零极点模型。
A=[3,2,1;
0,4,6;
0,-3,-5];
B=[1,2,3]'
;
C=[1,2,5];
D=0;
sys=ss(A,B,C,D);
systf=tf(sys)
syszpk=zpk(sys)
Transferfunction:
20s^2-83s+138
---------------------
s^3-2s^2-5s+6
Zero/pole/gain:
20(s^2-4.15s+6.9)
-----------------------
(s-3)(s-1)(s+2)
5.已知系统的动力学方程如下,试用MATLAB语言写出它们的传递函数。
num=[1,2,0];
den=[1,15,50,500];
s^2+2s
-------------------------
s^3+15s^2+50s+500
(2)
num=[4,0];
den=[1,3,6,4];
4s
s^3+3s^2+6s+4
6.试用MATLAB语言表示图5-13所示系统。
当分别以y=x2和f为系统输出、输入时的传递函数模型和状态空间模型(图中k=7N/m,c1=0.5N/m.s-1,c2=0.2N/m.s-1,m1=3.5kg,m2=5.6kg)。
k=7;
c1=0.5;
c2=0.2;
m1=3.5;
m2=5.6;
num=[m1,c1,k];
den=[m1*m2,c1*m1+c2*m1+c1*m2,c1*c2+m2*k,c1*k+c2*k,0];
3.5s^2+0.5s+7
--------------------------------------
19.6s^4+5.25s^3+39.3s^2+4.9s
7.试用MATLAB语言分别表示图5-14所示系统质量m1,m2的位移x1,x2对输入f的传递函数X2(s)/F(s)和X1(s)/F(s),其中m1=12kg,m2=38kg,k=1000N/m,c=0.1N/m.s-1。
m1=12;
m2=38;
k=1000;
c=0.1;
num=[c,k];
den=[m1*m2,m1*c+m2*c,m1*k+m2*k,0,0];
sys1=tf(num,den)
num=[m1,c,k];
sys2=tf(num,den)
0.1s+1000
---------------------------
456s^4+5s^3+50000s^2
Transferfunction:
12s^2+0.1s+1000
补充题
求图示传递函数
sys1=tf([1,2],[1,3,4]);
sys2=tf([1,4,5],[1,6,7,8]);
sys3=tf([1,0],[1,2]);
sys4=tf([1],[1,3]);
sys5=parallel(sys3,sys4);
sys=feedback(sys1*sys2*sys5,1,-1)
结果
s^5+10s^4+39s^3+74s^2+66s+20
-----------------------------------------------------------------
s^7+14s^6+81s^5+262s^4+530s^3+684s^2+538s+212
第六章习题
2.将例6-2中的微分方程改写为以下形式:
求μ分别为1、2时,在时间区间t=[0,20]微分方程的解。
M函数文件
functiondx=wffc(t,x,flag,ps)
dx=zeros(2,1);
dx
(1)=x
(2);
dx
(2)=ps*(1-x
(1)^2)*x
(2)-x
(1);
调用程序
tspan=[0,20];
x0=[0,1];
ps=1;
[T1,X1]=ode45('
wffc'
tspan,x0,odeset,ps);
ps=2;
[T2,X2]=ode45('
plot(T1,X1(:
1),'
r'
T2,X2(:
b-.'
X1(:
1)
X2(:
3.对图6-18所示反馈系统进行单位阶跃响应和方波响应(方波周期为30s)仿真。
要求:
(1)利用MATLAB模型连接函数求出系统闭环传递函数。
(2)利用step函数求单位阶跃响应。
(3)利用gensig函数产生方波信号,利用lsim函数求方波响应。
%
(1)
sys1=tf([1,0.5],[1,0.1]);
sys2=ZPK([],[0,-2,-10],20);
sys3=series(sys1,sys2);
sys4=feedback(sys3,1,-1);
%
(2)
subplot(1,2,1)
step(sys4);
%(3)
[u,t]=gensig('
square'
30,60);
subplot(1,2,2)
lsim(sys4,'
u,t)
20(s+0.5)
--------------------------------------------
(s+10.23)(s+0.8195)(s^2+1.052s+1.193)
4.已知系统传递函数
(1)绘制系统阶跃响应曲线。
(2)绘出离散化系统阶跃响应曲线,采样周期Ts=0.3s。
sys=tf([1],[1,0.2,1.01]);
step(sys)
sys1=c2d(sys,0.3,'
zoh'
[num,den]=tfdata(sys1,'
v'
dstep(num,den)
附加题
1、已知二阶微分方程
,其初始条件为
,
,求在时间围t=[05]该微分方程的解。
M函数为:
functiondy=vdp(t,y)
dy=zeros(2,1);
dy
(1)=y
(2);
dy
(2)=4*y
(2)-(y
(1)^2)*y
(2)+3*y
(1);
调用函数为:
[T,Y]=ode45('
vdp'
[05],[0,1]);
plot(T,Y(:
T,Y(:
2),'
b:
'
2、已知系统模型为
,计算系统在周期10s的方波信号作用下5个周期的时间响应,并在同一图形窗口中绘制输入信号和时间响应曲线。
sys=tf([1,2],[1,0,2,7]);
10,50);
%产生方波信号数据
lsim(sys,'
u,t),holdon%产生方波响应并绘曲线
plot(t,u,'
-.'
)%在同一坐标系绘方波波形
holdoff
第七章习题
1.绘制下列各单位反馈系统开环传递函数的Bode图和Nyquist图,并根据其稳定裕度判断系统的稳定性。
Gk=zpk([],[0,-0.5,-1/3],5/3);
margin(Gk)
gridon
nyquist(Gk)
由上图的稳定裕度知系统临界稳定。
Gk=zpk([],[0,-1,-0.1],1);
由上图的稳定裕度知系统不稳定。
Gk=zpk([],[0,0,-10,-5],500);
(4)
%(4)
Gk=zpk([],[0,0,-10,-0.1],2);
2.设单位反馈系统的开环传递函数为
其中无阻尼固有频率wn=90rad/s,阻尼比ξ=0.2,试确定使系统稳定的K的围。
方法1
g=tf(1,[1/90^20.4/9010]);
%系统开环模型
w=logspace(0,3,1000);
%生成频率向量
bode(g,w)
[mag,phase,w]=bode(g,w);
%产生幅值(非分贝)和相位向量
mag1=reshape(mag,1000,1);
%重构幅值向量(1000*1)
phase1=reshape(phase,1000,1);
%重构相频向量(1000*1)
wc=interp1(phase1,w,-180)%插值求-180度所对应的频率——wc
gk=interp1(w,mag1,wc)%插值求wc所对应的增益
gkk=1/gk%该增益的倒数即为可增加的最大增益
wc=
90.0004
gk=
0.0278
gkk=
36.0033
方法2
wc=0;
wg=0.01;
k=1;
whilewc<
wg
sys=tf(k,[1/(90*90),2*0.2/90,1,0]);
[gm,pn,wg,wc]=margin(sys);
k=k+0.1;
k-0.1
36.0000
方法3
xi=0.2;
omega=90;
w=90;
sys1=tf(1,[1,0]);
sys2=tf(1,[1/w^2,2*xi/w,1]);
sys=series(sys1,sys2);
[Gm,Pm,Wcg,Wcp]=margin(sys);
k=Gm
k=
36
3.设系统结构如图7-22所示,试用LTIViewer分析系统的稳定性,并求出系统的稳定裕度及单位阶跃响应峰值。
G11=0.5;
G12=zpk([0],[-0.5],1);
G1=G11-G12;
G2=tf(1,[120]);
Gk=G1*G2;
Gb=feedback(Gk,1,-1);
[Gm,Pm,Wcg,Wcp]=margin(Gb)
step(Gb)
[y,t]=step(Gb);
[yp,k]=max(y)
yp
Gm=
0.6667
Pm=
-21.6345
yp=
1.4994
4.设闭环离散系统结构如图7-23所示,其中G(s)=10/(s.(s+1)),H(s)=1,绘制T=0.01s、1s时离散系统开环传递函数的Bode图和Nyquist图,以及系统的单位阶跃响应曲线。
ts=0.01,ts1=1;
Gk=zpk([],[0,-1],10);
Gz1=c2d(Gk,ts,'
Gz2=c2d(Gk,ts1,'
[num1,den1,ts]=tfdata(Gz1,'
[num2,den2,ts1]=tfdata(Gz2,'
figure
(1)
subplot(1,3,1)
dbode(num1,den1,ts);
grid
subplot(1,3,2)
dnyquist(num1,den1,ts);
subplot(1,3,3)
dstep(num1,den1)
figure
(2)
dbode(num2,den2,ts1);
dnyquist(num2,den2,ts1);
dstep(num2,den2)
T=0.01sT=1s
第九章习题
3.构建图9-63所示的仿真模型。
图中的PID模块为图9-39所示的积分可分离式PID子系统,取kp=5,kd=0.1,ki=5,分别取delta为0.2、1.0时比较系统的单位阶跃响应性能。
%delta=0.2
delta=0.2;
kp=5;
kd=0.1;
ki=5;
%delta=1.0
delta=1.0;
第九章补充习题
2、建立下图所示系统的动力学方程,并绘制用于模拟单位阶跃输入作用下系统响应的simulink模型,系统输出y接至示波器,并给出仿真结果,仿真时间为10s。
对如图所示的系统进行受力分析有:
Simulink仿真模型为:
仿真结果略
3、建立下图所示微分方程所对应的simulink模型(u为输入、y为输出),u为单位斜坡输入作用下系统响应的输出y接至示波器,并给出仿真结果,仿真时间为10s。