Matlab Simulink中的 S函数报错,One or more output arguments not ass
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/03 03:03:41
Matlab Simulink中的 S函数报错,One or more output arguments not assigned during call to .
程序如下,两输入三输出,实现根据输入量不同分段计算.检查了很多遍不知道哪里错了.【请高手告知如何具体修改,最好把修正后的程序贴上,】
function [sys,x0,str,ts] = sys(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
case 3,
sys=mdlOutputs(t,x,u);
case{1,2,4}
sys=[];
case 9,
sys=mdlTerminate(t,x,u);
otherwise
error(['Unhandled flag=',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates =0;
sizes.NumDiscStates =0;
sizes.NumOutputs =3;
sizes.NumInputs =2;
sizes.DirFeedthrough =2;
sizes.NumSampleTimes =1;
sys= simsizes(sizes);
x0 =[];
str =[];
ts =[0 0];
function sys=mdlOutputs(t,x,u)
if (u(2)>=0&u(2)=pi/3&u(2)=2*pi/3&u(2)=pi&u(2)=4*pi/3&u(2)=5*pi/3&u(2)
程序如下,两输入三输出,实现根据输入量不同分段计算.检查了很多遍不知道哪里错了.【请高手告知如何具体修改,最好把修正后的程序贴上,】
function [sys,x0,str,ts] = sys(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
case 3,
sys=mdlOutputs(t,x,u);
case{1,2,4}
sys=[];
case 9,
sys=mdlTerminate(t,x,u);
otherwise
error(['Unhandled flag=',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates =0;
sizes.NumDiscStates =0;
sizes.NumOutputs =3;
sizes.NumInputs =2;
sizes.DirFeedthrough =2;
sizes.NumSampleTimes =1;
sys= simsizes(sizes);
x0 =[];
str =[];
ts =[0 0];
function sys=mdlOutputs(t,x,u)
if (u(2)>=0&u(2)=pi/3&u(2)=2*pi/3&u(2)=pi&u(2)=4*pi/3&u(2)=5*pi/3&u(2)
1.你的程序只用了output函数,所以大可不必用s-function,Embedded MATLAB Function足矣,s-function检查起来很麻烦.
2.给几个建议.
a.case{1,2,4,9}取消后面的mdlTerminate
b.sizes.NumSampleTimes =0;ts =[];
c.最后一个elseif改成else
再试试.
3.glusera9216 说对一半.要用仿真调试,光看很麻烦.不过他不懂s-function
2.给几个建议.
a.case{1,2,4,9}取消后面的mdlTerminate
b.sizes.NumSampleTimes =0;ts =[];
c.最后一个elseif改成else
再试试.
3.glusera9216 说对一半.要用仿真调试,光看很麻烦.不过他不懂s-function
Matlab Simulink中的 S函数报错,One or more output arguments not ass
matlab报错One or more output arguments not assigned during cal
matlab错误提示?One or more output arguments not assigned during
Matlab问题 为什么会出现?One or more output arguments not assigned du
One or more output arguments not assigned during call to
One or more output arguments not assigned during call to 'C:
One or more output arguments not assigned during call to 'E:
MATALB 错误?One or more output arguments not assigned during c
burst one's ass
bust one's ass
变量 分段函数的Simulink/Matlab
matlab中的simulink能这样做吗?