MATLAB的M文件分为两种:一种为脚本文件,另一种为函数文件。
脚本文件很简单,就是由一堆命令构成的,里面第一行不是 function 开头,这种文件比如是encrypt.m编写好后直接点F5或者运行键运行就行,不存在出现诸如“未定义函数或变量”的问题; 函数文件就相对复杂一些,第一行为function,比如说像function result=encrypt(n)这样的文件,函数名与文件名是一致的,在命令窗口里输入encrypt(n),n是运行参数,按回车即运行。 注:命令窗口中若想多行输入,每另起一行时按“Shift+Enter”键即可。
目录
在函数文件中,很可能会出现如下图这样的问题:
在本问题提供解决办法前,整个过程先引入一个实例可以更好地说明这个问题: 例:从键盘输入一个4位数,按如下规则加密后输出。加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。 解: 函数文件:
命令窗口:
运行结果截图:
我们发现:咦?代码明明没问题呀,为什么弹出“未定义函数或变量’encrypt’”这种问题呢。
下面就说明一下这个问题的由来和解决办法:
情况一:文件路径与系统当前路径不匹配
大家发现,文件路径是“F:encrypt.m”,而MATLAB系统路径是“E:softwareMATLAB R2018awinMATLABbin”,很显然文件路径与系统当前路径是不匹配的。这时,我们将我们的M文件(另存为)存储到“E:softwareMATLAB R2018awinMATLABbin”路径下,这时我们惊奇地发现问题解决啦! 简单来讲,要想运行成功,前提是文件路径与系统当前路径必须一致。
情况二:函数名与文件名不一致
这张图就是文件名与函数名不一致的情况,这也会导致“未定义函数或变量’encrypt’”这种问题的出现,解决办法就是把文件名改成“encrypt.m”或者将函数名改为hello(n)即可。这里建议将文件名改为函数名,因为这样你会发现你省去了修改命令窗口中函数名的麻烦。 注:所有的符号必须是英文状态下的喔,不然会报错的。
情况三:命令窗口中直接写函数名
这种情况除非已经在函数文件中定义了函数名才会避免。否则没有函数文件直接写这条命令语句肯定是不可行的。
最后,给出排除了所有报错可能,正确得到运行结果:
OK!以上就是关于MATLAB中M文件如何解决“未定义函数或变量”的若干办法的总结。希望能帮助到更多小伙伴!
大家有什么想法或者发现新的问题及解决办法别忘了在评论区告诉我哦!
欢迎评论,感谢阅读! END
到此这篇matlab怎样写函数(matlab 函数怎么写)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/matlabbc/61677.html