在使用Simulink的过程中经常会遇到一个问题,我希望我自己封装的模块中(一个Mask)的参数实时变化,例如
1.我想要模拟负载电阻突然变化(一开始电阻为2Ω,在1s后电阻变为1Ω)
2.电机运行过程模拟参数实时变化的工况(例如电感随时不断改变)
等等
那么就迫切的需要我们设置的一个参数能随时间实时的改变,那么解决方法可以采用S-funtion模块利用set_param
希望大家有所收获,喜欢本篇文章的话点个 关注 收藏 赞 吧!!!!!!
S-function模块
模块路径
模块
S-function需要在matlab中编程,打开S函数模板方法:在matlab命令行窗口输入 edit sfuntmpl 会打开S函数得模板
S-function模板
function [sys,x0,str,ts,simStateCompliance] = sfuntmpl(t,x,u,flag)
switch flag,
%%%%%%%%%%%%%%%%%%
% Initialization %
%%%%%%%%%%%%%%%%%%
case 0,
[sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes;
%%%%%%%%%%%%%%%
% Derivatives %
%%%%%%%%%%%%%%%
case 1,
s