只有在写完所有内容后才能在MatLab / Mathematica中运行代码

时间:2009-12-05 17:19:09

标签: matlab wolfram-mathematica

我想知道是否有一种方法可以在使用Matlab时,而不是让它解释我逐行编写的内容,如果允许我写出我想要的所有内容,并且只在我点击“评估”时解释它按钮,或类似的东西。来自c ++ / c#我喜欢编写我必须编写的代码,然后才运行它。

此外,我不喜欢将>>放在行的开头。有没有办法让它起飞?

我问Mathematica的相同问题。我听说有一个Wolfram的工作台(大多数人似乎根本不知道)就是这样,但它似乎没有给大学,所以我从未尝试过。

1 个答案:

答案 0 :(得分:10)

如果您在代码文件(.m扩展名)中编写代码,那么您可以立即运行它。

执行命令

  
    

修改my_matlab_file

  

然后在编辑器中编写代码。保存文件。 要运行刚才编码的内容,您可以选择以下几种方法:

  1. 在命令行中执行

      
        

    my_matlab_file

      
  2. 在编辑器中按“评估”按钮(绿色小东西)

  3. 在编辑器中,按Ctrl + ENTER。

  4. 要获得更多控制,您还可以将文件分成单元格,可以使用Ctrl + ENTER单独评估:

    my_matlab_file.m

    %% Initialization (Cell 1)
    x = 1;
    y = 2;
    
    %% Calculation (Cell 2)
    z = x + y
    

    当你有一个需要很长时间才能执行的长文件并且必须在某处进行更改时,这非常有用。您可以仅评估您进行更新的单元格,而不是重新运行所有内容。

    .m-files也可用于创建函数。示例(mymeanfund.m)

    function y = mymeanfunc(x)
    % Y = MYMEANFUNC(X) calculates the mean of X
    
    y = sum(X(:)) / numel(X)
    

    通过调用它来运行它:

    >> m = mymeanfunc([1 2 3 4])
    m = 2.5
    

    作为旁注,由于MATLAB的最新版本,使用OOP进行开发也是完全可能的。