matlab 一个m文件运行后所有调用过的m文件保存下来

供稿:hz-xin.com     日期:2025-01-14
matlab中一个m文件怎么调用另一个m文件的函数

1、首先要在笔记本电脑上安装好指定版本的matlab软件并双击打开。

2、然后双击matlab图标打开其主页面,可以看到这个软件的按钮都是全英文单词的。

3、那么创建m文件的方法就是鼠标移动到New按钮上单击一下,在弹出来的菜单中选择并点击Function这个选项。

4、这个时候会看到跳出来一个新的Untitled*文件对话框,里面有一些需要填写的模板:Untitled是m文件的文件名,output_args代表经过一系列运算之后要输出的变量值,input_args代表要输入的变量,这个就是新建的m文件编辑页面。

5、再往这个新的m文件里面写入你自己想要的计算的输入变量和输出变量的函数运算关系,当然还可以在后面增加更多的输出和输入变量。

6、同时还要把函数名改为容易记忆的名称,比如:function [ output_args_1,output_args_2 ] = Untitled_x( input_args_1,input_args_2 )并点击左上角的Save按钮,保存为和刚才相同函数名的文件Untitled_x.m。

7、最后想要调用m文件,也很简单,只要依次把即将要被调用的文件保存到窗口Command Window运行的主界面文件夹,在Command Window窗口新起一行,写好文件名,把所有输入变量的具体数值填好,按键盘的回车键,即可表示调用运行了一次这个m文件得到的结果。

首先打开.m文件(matlab中一般左边会有一个文件路径,通过它找到并打开文件即可)
2.然后在打开的.m文件窗口的右上方,会有一个run按钮(就是一个三角形按钮),
3.按下便可以运行.m中的所有程序,结果显示在command window里。
4.如果只想运行程序中的一部分,可以选中文件中的那部分,右键点击选中的部分,选择evaluate cells(好像是第一个选项),即可运行选中的部分了。

在 command window 里输入 edit 回车,变会自动打开一个未命名的 m 文件,你保存的时候会自动提示你命名。当然你还可以在command window 里输入:edit 文件名,那么就自动新建一个你命名后的 m 文件。

你的这个要求在很多情况下不容易实现。给你提供一些线索,供参考。

 

分析MATLAB函数调用关系的主要手段是depfun函数,基本用法是:

[list,builtins,classes] = depfun(fun)

这会列出函数fun所需的M文件(完整路径)、内建函数以及类。

 

如果想把文件复制到某个文件夹,应该可以编写一个简单的文件遍历list即可。但这样做,可能存在以下几个问题:

1、MATLAB中很多M文件是经过重载的,都复制到一个文件夹中可能会涉及到同名文件的冲突;

2、有不少文件需要其它文件的支持,仅仅把M文件复制过去未必能独立使用(例如符号运算相关的函数)。

3、涉及到类的文件可能会非常复杂,例如,我试着分析控制系统工具箱的一个函数tf:

[list, builtins, classes] = depfun('tf.m')

运行了十几分钟后,因内存不足而异常终止(2013a版本)。

4、我不确定depfun是通过静态代码分析还是动态代码分析获取函数间依赖关系的,但猜测可能是前者。目前分析的结果是,它主要是靠一个未公开的函数newdepfun实现代码分析的。

5、由于MATLAB现在的语法形式很多样,有些形式的调用关系很可能不能正确分析。例如通过匿名函数、回调函数、eval等调用的函数。

 

和depfun有关的还有函数depdir,可自行查看相关信息。还可以对一个文件夹生成所谓Dependency Report,详情请搜索主题Identify Program Dependencies

 

另外,运行M文件后,可以通过函数inmem查看内存中有哪些函数、MEX文件以及类,但不包括完整的路径信息。

 

至于【区分出系统自带和自己编写的】这个要求,没太有实际意义。因为MATLAB自带的M文件与用户或第三方编写的没有什么本质区别,仅仅是所谓自带的文件存放在MATLAB的工具箱文件夹中,而且一般来说都经过多年的完善,相对比较稳定可靠而已。用户或第三方编写的工具如果很出色,也不排除将来会被MATLAB收购成为其系统自带的一部分(过去已经有不少这种情况)。



系统文件和自己编写的都是m文件没法区分吧,可以打开工具箱看看,好多系统m文件你都可以改。除了少量想clc,clear,syms等等。
如果是自定义的m文件,可以自己改,在m文件开头和结尾各写一条语句(比如当前m文件的名字和时间)来做记录。这些记录连接到数据库或者一个简单的txt文本,就可以顺序记录了。
不过把所有m文件都做这种处理工作量不小。

可以新建,之后再保存的呢

捕鱼有一个版本是打红色乌龟然后爆全屏的是什么版本
好像叫恩芳海啸来袭。有金鲨有乌龟阵的。