【问题标题】:How to tell which M file Octave / Matlab is running [duplicate]如何判断哪个 M 文件 Octave / Matlab 正在运行 [重复]
【发布时间】:2016-03-23 11:27:59
【问题描述】:

如何告诉/导出/复制当前正在运行的M文件到一个目录。 我知道复制命令,只是不确定如何获取当前正在运行的 M 文件。

这样做的原因是我尝试了相同的 M 文件和不同的编辑,从而创建了不同的输出文件。我想将 M 文件的更改与它创建的导出文件一起保存。

谢谢

PS:我使用的是 octave 3.8.1,类似于 matlab

【问题讨论】:

    标签: matlab octave


    【解决方案1】:

    使用 mfilename

    p = mfilename('fullpath')
    

    fullpath 选项返回完整路径,它直接允许您将其与复制命令一起使用。

    【讨论】:

      【解决方案2】:

      Daniel 的解决方案回答了您的直接问题,但也许有更好的方法来组织您的工作流程。

      也许除了创建输出文件之外,您还可以在输出旁边导出一个“参数”文件,其中描述了重新创建实验所需的所有参数。这可以像调用 save 来创建一个包含必要变量的 MAT 文件一样简单......只是一个想法 :)

      【讨论】:

        【解决方案3】:

        我的建议是在任何可以使用 M 文件调用 octave 的 shell 中编写一个脚本,您还可以在其中复制 M 文件和输出。

        https://www.gnu.org/software/octave/doc/interpreter/Command-Line-Options.html

        【讨论】:

          【解决方案4】:

          谢谢丹尼尔

          此代码可能会帮助需要执行此操作的其他人

          currentfile=strcat(mfilename('fullpath'),'.m') %current file being run with path
          [pathstr,name,ext] = fileparts(currentfile) % split into parts
          currentfilecpyto=strcat('/tmp/A_',name,ext) %where to copy file to
          copyfile(currentfile, currentfilecpyto) %copy file
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-11-14
            • 2019-10-18
            相关资源
            最近更新 更多