MATLAB-Simulink系统仿真超级学习手册
上QQ阅读APP看书,第一时间看更新

1.3 MATLAB/Simulink应用示例

本节将介绍几个例子来展示MATLAB/Simulink在系统仿真中的应用,希望读者通过这些例子对MATLB/Simulink有一个初步的认识。

例1-1】微分方程求解。一个非线性刚体系统可用如下方程进行描述:

试求出在初始条件y1(0)=0、y2(0)=1、y3(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-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-4 三维图形绘制

例1-3】Simulink模型建立与仿真。

建立如图1-5所示的Simulink模型。

图1-5 Simulink模型框图

这是一个利用S-Function建立的系统模型,通过Scope模块可以观察仿真结果。运行仿真,双击Scope模块,得到如图1-6所示的仿真结果。

图1-6 仿真结果