s函数的一些知识整理

2021-11-30 13:13| 发布者:资讯小秘书| 查看:1| 评论:0

摘要:本文核心词:命令行键入edit sfuntmpl打开模板。function = pwm(t,x,u,flag)(1)输入:t:时间,就是一个增加的量,比如仿真时间0-0.2s,t就从0增加到0.2,就是我们一般认知上的仿真时间。这个量可以连续地与仿真 ...
本文核心词:

命令行键入edit sfuntmpl打开模板。

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函数的一些知识整理全部内容,都看到这里了还不收藏一下??搜索()还能找到更多精彩内容。


鲜花

握手

雷人

路过

鸡蛋
联系客服 关注微信 下载APP 返回顶部