本节书摘来自异步社区《MATLAB/Simulink系统仿真超级学习手册》一书中的第1章,第1.3节,作者:MATLAB技术联盟 , 石良臣著,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.3 MATLAB/Simulink应用示例
MATLAB/Simulink系统仿真超级学习手册
本节将介绍几个例子来展示MATLAB/Simulink在系统仿真中的应用,希望读者通过这些例子对MATLB/Simulink有一个初步的认识。
【例1-1】微分方程求解。一个非线性刚体系统可用如下方程进行描述:
试求出在初始条件y 1(0)=0、y 2(0)=1、y 3(0)=1下系统的解。
编写如下MATLAB程序:
function ep1_1
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);
[T,Y] = ode45(@rigid,[0 12],[0 1 1],options);
plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')
function dy = rigid(t,y)
dy = zeros(3,1);
dy(1) = y(2) * y(3);
dy(2) = -y(1) * y(3);
dy(3) = -0.51 * y(1) * y(2);
程序运行结果如图1-3所示。
【例1-2】三维图形绘制。编写如下MATLAB程序:
figure;
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(Z);
程序运行结果如图1-4所示。
【例1-3】Simulink模型建立与仿真。
建立如图1-5所示的Simulink模型。
这是一个利用S-Function建立的系统模型,通过Scope模块可以观察仿真结果。运行仿真,双击Scope模块,得到如图1-6所示的仿真结果。