MATLAB中此上下文中不允许出现函数定义,急求~

如题所述

可以用“function main”声明主函数,即主程序,同时也要合理使用全局变量,向多个函数传递中间参数值,具体方法如下

1、编写一段程序,计算(A+B+C)/D的功能,直接引用自定义add函数即可实现此求和做除的功能,其中A、B、C作为全局变量,不需作为函数参数输入,因为D为声明全局变量,所以要作为函数参数输入

2、从中可以看到全局变量的使用方法,即先要声明再赋值,最后如果在函数中直接使用,需要在函数体中再次声明该变量为全局定义

3、此时如果点击m程序上的“运行”,则可在结果界面看到此错误,提示不允许这样定义函数,这时可通过声明主函数解决

4、这里加入下图第一句主函数声明语句后,编译框会自动识别出函数范围,使函数变为可折叠状态,不像之前,无法区分主程序和函数

5、程序识别出函数后,即可进行折叠,如果一个程序中有较长的主程序和较多函数,即可边编辑程序,边进行折叠,使其看起来更简洁

6、此时运行后,就没有错误提示,可以直接计算出结果,根据计算公式,可以知道此结果是正确的

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-05
matlab中,函数的定义与实现应该放到单独的m文件中。
如果需要调用这个函数,直接调用就行了。不用加function。
也就是说,你把ds这个函数写到其他的m文件中,并保存。
之后,这个单独的m文件就作为函数来进行调用。本回答被提问者和网友采纳
第2个回答  2019-05-18
可能是MATLAB版本低的原因吧,我的2016b,可以在m文件里自定义子函数,但是同样的程序在MATLAB2014上运行就出现错误提示 此上下文中不允许函数定义
第3个回答  2019-11-23
只有m文件中才允许定义函数,可以并列的也可以嵌套的。
在命令行中不能出现function这个关键词。
相似回答