声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2312|回复: 7

[编程技巧] Function definitions are not permitted at the prompt or in scripts 出错

[复制链接]
发表于 2007-12-11 19:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
程序代码如下(用MATLAB2007b版):
%LCHYsimulink------U-------
global flag
function [sys,x0,str,ts] = mysimulink(t,x,u,flag)
switch flag,
    case 0,
        [sys,x0,str,ts] = 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 [sys,x0,str,ts] = 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 = [0,0];
%--------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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-12-11 20:51 | 显示全部楼层
原帖由 lchchyy 于 2007-12-11 19:55 发表
程序代码如下(用MATLAB2007b版):
%LCHYsimulink------U-------
global flag
function [sys,x0,str,ts] = mysimulink(t,x,u,flag)
switch flag,
    case 0,
        [sys,x0,str,ts] = mdlInitializeS ...

你在命令窗口输入这些代码吗?其实就算你是在m文件编辑窗口输入,也是不对的。建议先看看基础书,再动手写程序,不然处处碰钉子
 楼主| 发表于 2007-12-12 21:59 | 显示全部楼层

回复 #2 eight 的帖子

谢谢答复。是在m文件编辑窗口输入的。
是新手+急用,希望告诉错误的性质,最好指出具体的语句。再次谢谢
发表于 2007-12-12 22:15 | 显示全部楼层

回复 #3 lchchyy 的帖子

请看这个
http://forum.vibunion.com/forum/thread-46001-1-1.html

把全局变量放到里面去

[ 本帖最后由 ChaChing 于 2009-4-18 14:12 编辑 ]
 楼主| 发表于 2007-12-12 22:38 | 显示全部楼层

回复 #4 sigma665 的帖子

论坛提示我不能看http://forum.vibunion.com/forum/thread-46001-1-1.html里的内容。
谢谢sigma665,我会试的。Matlab2007b刚被我卸了,明天我装2006a后试一下。再看看基础书,希望问题能早点解决
发表于 2007-12-12 23:57 | 显示全部楼层
原帖由 lchchyy 于 2007-12-12 22:38 发表
论坛提示我不能看http://www.chinavib.com/forum/thread-46001-1-1.html里的内容。

既然来了,就先熟悉一下论坛。3个积分其实是唾手可得的
发表于 2007-12-13 23:32 | 显示全部楼层
hao
发表于 2007-12-18 19:14 | 显示全部楼层
我也遇到同样问题
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 17:21 , Processed in 0.061229 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表