MATLAB仿真作业.docx
- 文档编号:5842458
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:17
- 大小:413.27KB
MATLAB仿真作业.docx
《MATLAB仿真作业.docx》由会员分享,可在线阅读,更多相关《MATLAB仿真作业.docx(17页珍藏版)》请在冰豆网上搜索。
MATLAB仿真作业
Matlab语言及其在控制与仿真中的应用
仿真实验与作业
任课教师杨惠珍
学生姓名项志杰
班级11205-6
学号2011200872
a=rand(5,6)
b=a(1,3)
c=a(4,2)
d=a(:
1)
e=a(4,:
)
[i,j]=find(a>0.5)
运行结果:
a=
0.95010.76210.61540.40570.05790.2028
0.23110.45650.79190.93550.35290.1987
0.60680.01850.92180.91690.81320.6038
0.48600.82140.73820.41030.00990.2722
0.89130.44470.17630.89360.13890.1988
b=0.6154
c=0.8214
d=
0.9501
0.2311
0.6068
0.4860
0.8913
e=0.48600.82140.73820.41030.00990.2722
i=
1
3
5
1
4
1
2
3
4
2
3
5
3
3
j=
1
1
1
2
2
3
3
3
3
4
4
4
5
6
A=[1-1;25];
I=eye(2,2);
B=2*A^4-12*A^3+19*A^2-29*A+37*I;
F=inv(B)
运行结果:
F=
0.30430.0435
-0.08700.1304
symsx1x2x3t
diff_equ1='Dx1=-x1+x2';
diff_equ2='Dx2=-4*x1+3*x2';
diff_equ3='Dx3=-8*x1+8*x2-x3';
[x1,x2,x3]=dsolve(diff_equ1,diff_equ2,diff_equ3,'t')
运行结果:
x1=exp(t)*(C2+C3*t)
x2=exp(t)*(2*C2+2*C3*t+C3)
x3=4*C2*exp(t)+4*C3*exp(t)*t+2*C3*exp(t)+exp(-t)*C1
AA=[1-1;02];
BB=[-34;10];
CC=[13;-22];
XX=lyap(AA,BB,-CC)
运行结果:
XX=
02.0000
1.0000-1.0000
t1=-10:
0.01:
10;
t2=10:
0.001:
20;
y1=-t1+5;
y2=(1+t2).*sin(t2);
plot(t1,y1);
holdon;
plot(t2,y2);holdoff
运行结果:
自定义函数建立一个lorenz.m文件:
functiondx=lorenz(t,x)
dx=zeros(3,1);
dx
(1)=-8*x
(1)/3+x
(2)*x(3);
dx
(2)=-10*x
(2)+10*x(3);
dx(3)=-x
(1)*x
(2)+28*x
(2)-x(3);
end
求解如下:
[t,x]=ode45(@lorenz,[0,100],[0;0;0.001]);
figure
(1)
plot(t,x(:
1))
figure
(2)
plot(t,x(:
2))
figure(3)
plot(t,x(:
3))
figure(4)
plot3(x(:
1),x(:
2),x(:
3))
运行结果:
A=[-110;0-1-3;-1-5-3];
B=[00;10;01];
C=[0-10];
D=[1-5];
sys1=ss(A,B,C,D);
sys2=tf(sys1)
运行结果:
Transferfunctionfrominput1tooutput:
s^3+4s^2-12s-18
-----------------------
s^3+5s^2-8s-15
Transferfunctionfrominput2tooutput:
-5s^3-25s^2+43s+78
---------------------------
s^3+5s^2-8s–15
s=tf('s')
Gc=0.48*(1+1/(1.814*s)+0.4353*s/(1+0.04353*s));
G=10/(s+1)^3;
s1=Gc*G
sys=feedback(s1,1)
sys1=ss(sys)
sys2=zpk(sys)
运行结果:
Transferfunction:
s
Transferfunction:
4.169s^2+8.916s+4.8
---------------------------------------------------------
0.07896s^5+2.051s^4+5.679s^3+5.521s^2+1.814s
Transferfunction:
4.169s^2+8.916s+4.8
--------------------------------------------------------------
0.07896s^5+2.051s^4+5.679s^3+9.69s^2+10.73s+4.8
a=
x1x2x3x4x5
x1-25.97-8.99-3.835-2.123-0.9498
x280000
x304000
x400200
x500010
b=
u1
x12
x20
x30
x40
x50
c=
x1x2x3x4x5
y1000.8250.88210.4749
d=
u1
y10
Continuous-timemodel.
Zero/pole/gain:
52.8(s^2+2.139s+1.151)
----------------------------------------------------------
(s+23.08)(s^2+2.136s+1.148)(s^2+0.7609s+2.294)
g11=tf(0.1134,[1.784.481],'ioDelay',0.72);
g12=tf(0.924,[2,071]);
g21=tf(0.3378,[0.3611.091],'ioDelay',0.3);
g22=tf(-0.318,[2.931],'ioDelay',1.29);
G=[g11g12;g21g22];
step(G)
t=1:
0.1:
15;
u1=1-exp(-t).*sin(3*t+1);
u2=sin(t).*cos(t+2);
u=[u1',u2'];
lsim(G,u,t)
运行结果:
实验2利用SIMULINK进行制导弹道仿真
实验目的
利用Simulink进行仿真建模,通过以鱼雷追踪目标的制导弹道仿真过程,初步掌握系统数学仿真方法。
实验内容
图5系统的结构框图
其中目标模型为:
式中,
分别为目标弹道偏角、回旋角速度、纵向距离和侧向距离;
假设:
当
时,
弧度,目标做匀速运动;
当
时,
,目标开始做回旋运动;
其鱼雷模型为:
式中,
分别为鱼雷的侧滑角、回旋角速度、直舵角、航向角、弹道偏角、速度,地面坐标系中的X轴和Z轴坐标。
Vm=25m/s。
鱼雷与目标的相对距离为,
。
q为地球视线角,
为雷体系中的提前角。
操舵规律
。
终端脱靶量定义为
鱼雷模型仿真初值为:
。
目标模型仿真初值为:
实验步骤
由图5所示的系统控制结构图可知,该系统大致可以分为三个部分:
目标模型,鱼雷模型以及观察模块。
1.根据目标模型和鱼雷模型的数学方程组,调用Simulink工具箱模块库中的所需模块建立目标模型和鱼雷模型。
2.根据系统结构框图完成整个系统仿真模型的搭建,如图6所示。
3.设置各模块的参数,并按照题目给定的初值条件设置好各模块的初值。
4.设置仿真器的参数,这里选择起始时间为0s,终止时间为100s,变步长解法器ode45,最大步长为0.05,最小步长自动调整。
5.对已经建立好的系统仿真模型进行运行调试,并对仿真结果进行分析。
图6系统仿真模型结构图
图7目标的弹道曲线
图8鱼雷追踪曲线
为了绘制绘制鱼雷跟踪弹道曲线,运行以下程序代码:
plot(xe,ze)
holdon
plot(xt,zt)
图9鱼雷跟踪弹道曲线
实验结果分析
由上图可以发现利用Simulink建立系统仿真模型可以实现鱼雷跟踪目标的功能,达到了预期的目的,验证了实验的正确性。
与此同时,由图9可以发现鱼雷跟踪目标后还会继续运行,与实际情况并不相符,为了更好的绘制绘制鱼雷跟踪弹道曲线,仿真结构图中结合了stop模块用来使终端脱靶量即终端时刻所对应的最小距离
以给出仿真结束的时间停止仿真。
通过反复的调试,观测工作空间
的值发现终端脱靶量不可能为零,最小为3.3左右。
将
设置为小于等于3.3时绘制的鱼雷跟踪目标弹道曲线如图10所示。
可见数学模型并不能完全深刻的描述出物理模型,所以仿真结果也与实际鱼雷弹道并不完全吻合,但作为一个仿真软件,在其精度允许范围内并不影响其仿真效果和实验的有效性和正确性。
图10鱼雷跟踪弹道曲线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 仿真 作业