matlab 编好程序之后运行主要分两种场景,第一种是脚本 m 文件,第二种是函数 m 文件,脚本 m 文件写完保存之后,可以直接在命令行窗口输入文件名回车运行,也可以点击编辑器窗口顶部的运行按钮执行,函数 m 文件不能直接点运行,需要在命令行传入对应的输入参数调用才能执行,很多新手写完程序之后报错,大多是文件没有保存,文件名命名不规范,或者当前工作目录没有切换到程序所在文件夹,matlab 找不到这个 m 文件就会提示未定义函数,这也是 matlab 运行程序最常见的坑,另外还有实时脚本 live 文件,运行方式和普通 m 脚本基本一致,只是自带代码运行输出和注释排版。
matlab 运行程序的核心逻辑,是依靠当前文件夹路径检索机制,软件只会在当前工作目录还有已经添加到路径里的文件夹查找 m 文件,如果你的程序存放在别的位置,哪怕代码写对了,matlab 也识别不到,所以运行前第一步就要确认路径,这是很多初学者容易忽略的关键点,同时脚本和函数执行机制本身有区别,脚本是按顺序逐行执行代码,共用基础工作区变量,函数是独立工作区,需要输入输出参数,这个机制差异决定了二者运行操作不一样。
详细操作步骤
1 代码编写完成之后,先按保存,文件后缀是 m,文件名不能用中文,不能数字开头,不能和 matlab 内置函数重名,比如不能命名为 plot.m sum.m
2 在左侧当前文件夹面板,确认当前工作目录就是这个 m 文件所在文件夹,如果不在,就切换目录,或者使用 addpath 把文件夹添加到搜索路径
3 如果是脚本文件,有三种运行方式,第一种点击编辑器上方绿色运行三角按钮,第二种在命令行窗口直接输入文件名称,不要加后缀 m,按回车,第三种可以选中部分代码,按 F9 只运行选中片段
4 如果是函数文件,打开编辑器之后直接点运行会报错,需要回到命令行窗口,按照函数定义格式传入参数调用,例如函数定义是 function y=test (x),调用就写 test (5) 回车
5 程序运行之后,查看命令行窗口输出,还有绘图窗口弹出的图形,如果出现红色报错,根据报错提示修改代码,保存之后再次运行
不同程序类型运行对照表
| 程序类型 | 文件后缀 | 运行方式 | 注意要点 |
|---|---|---|---|
| 脚本文件 | m | 点运行按钮或者命令行输入文件名 | 共享基础工作区变量,不需要参数 |
| 函数文件 | m | 命令行带参数调用 | 独立工作区,必须匹配输入参数 |
| 实时脚本 | mlx | 点运行按钮或者命令行调用 | 可以内嵌图形和文本说明 |
| 实时函数 | mlx | 命令行带参数调用 | 新版 matlab 支持,逻辑和普通函数一致 |
进阶运行相关设置
可以设置断点调试,在代码行号左侧点击设置断点,运行程序的时候会在断点位置暂停,方便逐行排查错误,还可以设置单步运行,观察每一行变量变化,适合复杂程序调试。如果需要批量自动运行,可以写主脚本调用多个子函数,也可以设置定时运行,另外如果是旧版本 matlab,界面按钮位置和新版略有差别,但是核心路径检索和调用逻辑保持一致。
还有一个高频问题,运行之后没有任何输出,一般是代码里面没有写 disp 输出语句,或者所有结果都保存在变量里面,没有打印,这不是程序没有运行,只是没有打印显示结果,可以在工作区窗口双击变量查看数值。
【常见问题】
问题 1 matlab 编好程序后怎么运行提示未定义函数
回答 1 matlab 编好程序后怎么运行出现未定义函数,一般是当前路径不对,或者文件名命名错误,需要切换到程序所在文件夹,确认文件名没有中文没有数字开头,也没有和内置函数重名。
问题 2 matlab 编好程序后怎么运行函数文件不能直接点运行
回答 2 matlab 编好程序后怎么运行的时候,函数文件不能直接点运行,因为函数需要输入参数,必须在命令行窗口按照格式传入参数调用,直接点运行会弹出参数缺失报错。
问题 3 matlab 编好程序后怎么运行可以只运行一部分代码吗
回答 3 matlab 编好程序后怎么运行支持局部运行,用鼠标选中需要执行的代码片段,按下 F9 快捷键,就可以只运行选中部分,不用执行整个完整程序。
问题 4 matlab 编好程序后怎么运行之后变量在哪里查看
回答 4 matlab 编好程序后怎么运行完成之后,所有生成变量会显示在右侧工作区窗口,双击变量就可以打开变量编辑器查看数值,脚本运行的变量会保留在基础工作区。
【免责申明】
本文基于 matlab 通用版本操作逻辑整理,不同版本 matlab 界面菜单和快捷键存在差异,本文仅作为操作参考,不构成官方说明,如需准确信息请查阅 matlab 官方帮助文档。


