Function definitions are not permitted at the prompt or in scripts 出错
程序代码如下(用MATLAB2007b版):%LCHYsimulink------U-------
global flag
function = mysimulink(t,x,u,flag)
switch flag,
case 0,
= mdlInitializeSizes;
case 1,
sys = mdlDerivatives(t,x,u);
case 2,
sys = mdlUpdate(t,x,u);
case 3,
sys = mdlOutputs(t,x,u);
case {4,9}
sys = [];
otherwise
error(['unhandled flag =',num2str(flag)]);
end
%--------mdlInitializeSizes-----------
function = mdlInitializeSizes()
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = -1; %动态输出
sizes.NumInputs = -1; %动态输入
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
str = [ ];
x0 = [ ];
ts = ;
%--------mdlDerivatives-------
function sys = mdlDerivatives(t,x,u)
sys = [ ];
%---------mdlUpdate---------
function sys = mdlUpdate(t,x,u)
sys = [ ];
%-------mdlOutputs--------
function sys = mdlOutputs(t,x,u)
sys = u*sqrt(2)*sin(100*pi*t);
Debug后报错如下:
??? Error: File: LCHYsimulink.m Line: 3 Column: 1
Function definitions are not permitted at the prompt or in scripts.
补充:
程序代码的很多地方,尤其是每个function 下都打着红色的波浪线。
本人郁闷:我没有Function definitions 啊!请大家帮忙,小弟在此先谢过了。
[ 本帖最后由 eight 于 2007-12-11 20:52 编辑 ] 原帖由 lchchyy 于 2007-12-11 19:55 发表 http://www.chinavib.com/forum/images/common/back.gif
程序代码如下(用MATLAB2007b版):
%LCHYsimulink------U-------
global flag
function = mysimulink(t,x,u,flag)
switch flag,
case 0,
= mdlInitializeS ...
你在命令窗口输入这些代码吗?其实就算你是在m文件编辑窗口输入,也是不对的。建议先看看基础书,再动手写程序,不然处处碰钉子
回复 #2 eight 的帖子
谢谢答复。是在m文件编辑窗口输入的。是新手+急用,希望告诉错误的性质,最好指出具体的语句。再次谢谢
回复 #3 lchchyy 的帖子
请看这个http://forum.vibunion.com/forum/thread-46001-1-1.html
把全局变量放到里面去
[ 本帖最后由 ChaChing 于 2009-4-18 14:12 编辑 ]
回复 #4 sigma665 的帖子
论坛提示我不能看http://forum.vibunion.com/forum/thread-46001-1-1.html里的内容。谢谢sigma665,我会试的。Matlab2007b刚被我卸了,明天我装2006a后试一下。再看看基础书,希望问题能早点解决 原帖由 lchchyy 于 2007-12-12 22:38 发表 http://www.chinavib.com/forum/images/common/back.gif
论坛提示我不能看http://www.chinavib.com/forum/thread-46001-1-1.html里的内容。
既然来了,就先熟悉一下论坛。3个积分其实是唾手可得的 hao 我也遇到同样问题
页:
[1]