xiaoyanqiu1987 发表于 2009-5-16 12:15

S函数的问题(特急,请各位大侠仗义指教,不胜感激!!)

为了了解S函数的用法,我找了几篇相关的文章看了一下,其中的例子我也照着在MATLAB中去用了一下,但却出了大错,本来我就是个菜鸟,因为高毕业设计的原因才赶鸭子上架,而且现在时间又不多了,不能系统的去了解相关的知识,所以只能向论坛的大侠们求救了!!
S函数是
k.m %k为所定义的函数名
function=(t,x,u,flag) %t为当前时刻,x为当前状态值,u为当前系统输入值,flag为控制返回变量。返回参数x0:状态向量初始值。返回参数y:一个6维向量。
if flag==3 %返回系统的输出向量y。
if (u(1)>5&u(1)<0&u(2)>0)|(u(1)>0&u(1)<5&u(2)<0)
   y(1)=u(1);
   y(2)=U(2); %Kp=K1=1
elseif
(u(1)>-5&u(1)<0&u(2)<0)|(u(1)>0&u(1)&u(2)>0)
    y(1)=100*u(1); %Kp=100
    y(2)=60*u(2);%K1=60
else
    y(1)=80*u(1); %Kp=80
   y(2)=2*u(2);%K1=2
end
   elseif flag==o %返回系统变量和初始条件维数。
   y=; %输出,输入变量数均为2个。
   else
    y=[];
   end
运行出错提示的文字是这样的:Error getting arg counts for S-function 'K' in 'xiao1/Subsystem/S-Function'. MATLAB error message:
Error: File: E:\MATLAB7.0\work\K.m Line: 2 Column: 1
Function definitions are not permitted at the prompt or in scripts
图片显示如下

yufeng 发表于 2009-5-16 16:47

function
空格

xiaoyanqiu1987 发表于 2009-5-17 08:53

回复 沙发 yufeng 的帖子

按道理说应该程序没问题吧,这是书上的例子!!
页: [1]
查看完整版本: S函数的问题(特急,请各位大侠仗义指教,不胜感激!!)