ship_plant船舶模型
1. 函数定义与框架
function [sys,x0,str,ts] = ship_plant(t,x,u,flag)
switch flag,case 0, [sys,x0,str,ts]=mdlInitializeSizes;case 1, sys=mdlDerivatives(t,x,u);case 3, sys=mdlOutputs(t,x,u);% ... 其他 case 略
end
-
功能:定义Simulink S-Function的标准框架,处理不同仿真阶段(初始化、微分计算、输出等)。
2. 初始化函数 mdlInitializeSizes
sizes.NumContStates = 6; % 6个连续状态变量
sizes.NumOutputs = 10; % 10个输出信号
sizes.NumInputs = 2; % 2个输入信号(控制量)
x0 = [0 0 0.5 0 0 0]; % 初始状态:[u, v, r, x, y, psi]
-
状态变量:
-
u
:纵向速度(Surge)
-