Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-12-26, 19:02   #1
alex_magicsky
初级会员
 
注册日期: 2008-09-02
年龄: 39
帖子: 10
声望力: 17
alex_magicsky 正向着好的方向发展
默认 [求助]s函数出错!

错误:Output returned by S-function 'feedback' in 'feedback_s/S-Function1' during flag=3 call must be a real vector of length 2.新手学习ing,此问题费解望高手不吝赐教!感谢!
alex_magicsky 当前离线   回复时引用此帖
旧 2008-12-26, 19:03   #2
alex_magicsky
初级会员
 
注册日期: 2008-09-02
年龄: 39
帖子: 10
声望力: 17
alex_magicsky 正向着好的方向发展
默认 回复: [求助]s函数出错!

此程序:
%S-function for continuous state equation
function [sys,x0,str,ts]=feedback(t,x,u,flag)

switch flag,
%Initialization
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
case 1,
sys=mdlDerivatives(t,x,u);
%Outputs
case 3,
sys=mdlOutputs(t,x,u);
%Unhandled flags
case {2, 4, 9 }
sys = [];
%Unexpected flags
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end

%mdlInitializeSizes
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 6;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 2;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 0;

sys=simsizes(sizes);
x0=[0,0,0,0,0,0];
str=[];
ts=[];

function sys=mdlDerivatives(t,x,u)

%Friction
Fc=0.28*1000;
Fs=0.34*1000;
vs=0.01;
af=0.02;
rou0=260;
rou1=2.5;
g=Fc+(Fs-Fc)*exp(-(x(2)/vs)^2)+af*x(2);
sys(6)=x(2)-(rou0*abs(x(2))/g)*x(6);
dt=rou0*x(6)+rou1*sys(6)+af*x(2);
sys(1)=x(2);
sys(2)=x(3);
sys(3)=x(4);
sys(4)=x(5);
sys(5)=-0.0001e7*x(5)-0.0421e7*x(4)-1.3773e7*x(3)-2.9824e7*x(2)-5.9648e7*x(1)+u-dt;
function sys=mdlOutputs(t,x,u)

%Friction
Fc=0.28*1000;
Fs=0.34*1000;
vs=0.01;
af=0.02;
rou0=260;
rou1=2.5;
g=Fc+(Fs-Fc)*exp(-(x(2)/vs)^2)+af*x(2);
sys(6)=x(2)-(rou0*abs(x(2))/g)*x(6);
dt=rou0*x(6)+rou1*sys(6)+af*x(2);
sys(1)=-89.1739*x(4)-7.1578e4*x(3)-3.5786e7*x(2)+5.9648e7*x(1);
sys(2)=dt;
alex_magicsky 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[求助]颜色直方图(新人报道=.=) comet MATLAB论坛 5 2009-05-02 01:37
[求助]load命令为什么程序没有通过? qinyonglyz MATLAB论坛 5 2009-02-15 22:48
[求助]求origin 5.0 安装程序 taobowen Origin论坛 0 2009-01-09 09:24
求灰度共生矩阵源程序 myd.7986 MATLAB论坛 0 2008-12-26 15:26
[求助]axis显示图像问题 bigorangefdc MATLAB论坛 2 2008-11-15 10:18


所有时间均为北京时间。现在的时间是 06:02


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.