最开始自学MATLAB的时候,最头疼的就是matlab怎么输入函数,每次照着网上的零散步骤敲代码,要么直接报错,要么运行不出结果,折腾好久都摸不准正确的输入逻辑。

一直误以为函数可以直接写在命令行窗口里运行,每次写完一串函数代码,点击回车就弹出红色报错,提示函数定义无效,当时完全搞不懂问题出在哪,只觉得软件莫名难用。

命令行窗口不能自定义输入完整函数,仅能调用现成函数,这是踩了无数坑才摸清的基础规则。

matlab怎么输入函数(脚本文件临时函数)

后来才反应过来,普通的脚本m文件,是可以内嵌临时函数的,这是新手最简单的输入方式,不用单独新建文件,适合临时测试小段函数代码。打开MATLAB后,点击新建脚本,新建一个空白的m文件,在文件开头写正常的执行代码,文件末尾统一放置自定义函数,千万不要把函数穿插在代码中间。

当初就是犯了这个低级错误,把函数写在脚本代码的中间,导致程序运行中断,报错提示变量未定义。脚本文件里的临时函数,必须全部放在文件最底部,而且一个脚本可以同时写多个不同功能的子函数,调用的时候直接写函数名加参数就行。比如想要一个计算两数求和的函数,就在脚本末尾写functionres=add(a,b),下一行写res=a+b;,保存文件后点击运行,就能正常调用这个输入好的函数。

matlab怎么输入函数(独立函数文件)

如果是需要反复使用的函数,临时脚本函数就不太够用了,必须单独创建函数文件来输入函数代码,这也是MATLAB官方推荐的规范输入方式。新建文件的时候直接选择函数选项,软件会自动生成基础的函数模板,包含函数名、输入参数、输出参数的基础框架,不用自己手动敲格式。

这里有个很多人都会踩的大坑,也是我当初卡了最久的地方:独立函数文件的文件名,必须和函数第一行定义的函数名完全一致,包括大小写,少一个字符、多一个后缀都会直接运行失败。之前写了一个求平方的函数,函数名定义成square,保存文件的时候随手改成了square1,结果反复运行都是报错,排查了十几分钟才发现是文件名不匹配的问题。

输入方式适用场景核心要求不推荐用法
脚本内嵌函数临时测试、单次使用的简单函数函数全部放在脚本末尾函数穿插在执行代码中间
独立函数文件重复调用、复杂功能函数文件名与定义函数名完全一致文件名随意修改、大小写不统一

还有个容易忽略的细节,不管用哪种方式输入函数,MATLAB的函数参数、变量定义都区分大小写,输入的时候大小写写错,软件就识别不到对应函数,新手很容易因为这种小问题白白浪费很多时间。

试过无数次报错之后,现在输入MATLAB函数已经不会再出错了,两种输入方式按需选择,简单临时用就嵌在脚本里,长期复用就建独立文件。

昨晚写完一组自定义函数,保存好文件后,随手关掉了MATLAB,连运行结果都没多看一眼。