关于s函数编程问题小​弟有地方不懂想请大佬​们给指导一下。

조회 수: 10 (최근 30일)
doney
doney 2022년 11월 30일
댓글: bc 2024년 12월 10일
小弟刚刚接触s函数所以有很多地方不是很懂,想请大佬们给指导一下,下面是一段s函数的编程,想问一下在mdlDerivatives环节中的sys(1)=x(2)是什么意思啊?x(2)这个状态变量是怎么生成的?
function [sys,x0,str,ts]=s_function(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 {2, 4, 9 }
sys = [];
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 2;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 2;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 0;
sys=simsizes(sizes);
x0=[0.5 1.0];
str=[];
ts=[];
function sys=mdlDerivatives(t,x,u)
J=10;
sys(1)=x(2);
sys(2)=1/J*u;
function sys=mdlOutputs(t,x,u)
sys(1)=x(1);
sys(2)=x(2);
  댓글 수: 1
bc
bc 2024년 12월 10일
会了么哥们,我现在也是这个问题,思考一下午了也不会

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!