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

我用s函数编了个异步电机定子磁链u-I模型,出现系统错误:Index exceeds matrix dimensions.
Error in ==> d:\MATLAB6p5\work\sflux.m
On line 10 ==> sys=mdlOutputs(t,x,u);
不知如何解决,希望各位帮忙,谢谢

function [sys,x0,str,ts] = sflux(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
% end sfuntmpl

function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 2;
sizes.NumInputs = 4;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1; % at least one sample time is needed
sys = simsizes(sizes);

x0 = [];

str = [];

ts = [0 0];
% end mdlInitializeSizes


% mdlDerivatives
% Return the derivatives for the continuous states.
%=======================================
%输入:u(1)=Uαs,u(2)=Uβs,u(3)=Iαs,u(4)=Iβs
%输出:sys(1)=vαs,sys(2)ψβ
%状态变量:x(1)=ψαs,x(2)=ψβs
% 电机参数:Rs,Pn

function sys=mdlDerivatives(t,x,u)
Rs=0.1165;
sys(1)=u(1)-Rs*u(3);
sys(2)=u(2)-Rs*u(4);
% end mdlDerivatives
%=============================
% mdlOutputs
% Return the block outputs.
%=============================
function sys=mdlOutputs(t,x,u)
sys(1)=x(1);
sys(2)=x(2);
% end mdlOutputs
shevchen7 当前离线   回复时引用此帖
 


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

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


相似的主题
主题 主题作者 版面 回复 最后发表
[求助]颜色直方图(新人报道=.=) comet MATLAB论坛 5 2009-05-02 01:37
[求助]求origin 5.0 安装程序 taobowen Origin论坛 0 2009-01-09 09:24
[求助]matlab 如何用popupmenu打开新窗口 关闭旧窗口 bigorangefdc MATLAB论坛 1 2008-12-09 15:12
[求助]axis显示图像问题 bigorangefdc MATLAB论坛 2 2008-11-15 10:18


所有时间均为北京时间。现在的时间是 11:48


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