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

 我来答
榴莲泡芙小蛋糕
2019-04-22 · TA获得超过5386个赞
知道答主
回答量:53
采纳率:0%
帮助的人:8283
展开全部

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

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

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

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

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

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

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

yanglei5658
推荐于2017-10-05 · TA获得超过4756个赞
知道大有可为答主
回答量:835
采纳率:100%
帮助的人:525万
展开全部
matlab中,函数的定义与实现应该放到单独的m文件中。
如果需要调用这个函数,直接调用就行了。不用加function。
也就是说,你把ds这个函数写到其他的m文件中,并保存。
之后,这个单独的m文件就作为函数来进行调用。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞叶河
2019-05-18
知道答主
回答量:56
采纳率:0%
帮助的人:11.8万
展开全部
可能是MATLAB版本低的原因吧,我的2016b,可以在m文件里自定义子函数,但是同样的程序在MATLAB2014上运行就出现错误提示 此上下文中不允许函数定义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
树莞凭艳卉
2019-11-23 · TA获得超过3748个赞
知道小有建树答主
回答量:3080
采纳率:25%
帮助的人:389万
展开全部
只有m文件中才允许定义函数,可以并列的也可以嵌套的。
在命令行中不能出现function这个关键词。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式