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

dev*_*ium 1 matlab wolfram-mathematica

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

我也不喜欢把它放在线的开头.有没有办法让它起飞?

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

Han*_*rén 10

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

跑:

编辑 my_matlab_file

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

  1. 在命令行中执行

    my_matlab_file

  2. 在编辑器中按"评估"按钮(小绿色)

  3. 在编辑器中,按Ctrl + Enter.

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

my_matlab_file.m:

%% Initialization (Cell 1)
x = 1;
y = 2;

%% Calculation (Cell 2)
z = x + y
Run Code Online (Sandbox Code Playgroud)

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

.m文件也可用于创建函数.示例(mymeanfund.m)

function y = mymeanfunc(x)
% Y = MYMEANFUNC(X) calculates the mean of X

y = sum(X(:)) / numel(X)
Run Code Online (Sandbox Code Playgroud)

并通过调用它来运行它:

>> m = mymeanfunc([1 2 3 4])
m = 2.5
Run Code Online (Sandbox Code Playgroud)

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