当前位置:首页 > 阅读 > s函数的一些知识整理

s函数的一些知识整理

s函数的一些知识整理

function [sys,x0,str,ts,simStateCompliance] = pwm(t,x,u,flag)

(1)输入:

t:时间,就是一个增加的量,比如仿真时间0-0.2s,t就从0增加到0.2,就是我们一般认知上的仿真时间。这个量可以连续地与仿真时间一一对应,也可以是以离散形式对应。

x:状态量。类似verilog中的状态量。

u:输入量。状态方程中的输入。

flag:标志。

(2)子函数

mdlInitializeSizes:初始化。flag=0。必须有。

function [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes

sizes = simsizes;

sizes.NumContStates= 0;%连续变量的个数,一般都用离散的。

sizes.NumDiscStates= 0;%离散变量的个数。比如状态向量x是n维的,这里就是n

sizes.NumOutputs= 0;%输出变量个数。实际有几个变量出去s模块,就是几。

sizes.NumInputs= 0;%输入变量个数。这里的输入指的是你实际输入到s模块中的变量有几个(有几个变量进入u,这里就是几)

sizes.DirFeedthrough = 1;%输出变量的关系式中是否直接出现u,是1,否0.

sizes.NumSampleTimes = 1;% 采样时间个数

sys = simsizes(sizes);

x0= [];%就是x的初值

str = [];%空的,备用

ts= [0 0];%[采样时间,偏移量]

simStateCompliance = UnknownSimState;

mdlUpdate:更新。flag=2。常用。在这里计算涉及状态量x(离散中是状态量,连续中是dx)

mdlOutputs:输出。flag=3。必须有。

以上就是(s函数的一些知识整理)全部内容,收藏起来下次访问不迷路!