-1

我有一个 M 文件,它在输入变量上执行级联 5 个函数。每个步骤大约需要 1 分钟,预计第 4 步可能需要 20 分钟。我一直在修改第四个功能以加快速度。但是,每次我运行我的 m 文件时,我都必须等待 3 分钟才能执行前 3 个函数。是否可以设置一个断点,以便在出现问题时我可以继续返回到第三步的末尾。

我知道我可以保存第 3 个函数的输出并使用函数 4 创建一个 m 文件,但我不希望这样做,因为我想不断更改级联的输入。

4

1 回答 1

1

也许这是一个可能适合您的工作流程。

创建一个包含单元格的脚本,由 分隔%%

%% Specify inputs
in = ['something'];
%% Run function 1
a = f1(in, param1_1, param1_2, param1_n);
%% Run function 2
b = f2(a, param2_1, param2_2, param2_n);
%% Run function 3
c = f3(b, param3_1, param3_2, param3_n);
%% Run function 4
out = f4(c, 0.0001); %0.0001 is the tolerance

现在,将光标放在单元格 1 中并按下Ctrl Shift Enter以执行该单元格并前进到下一个单元格(有一个工具栏按钮可以执行相同的操作)。对单元格 2 和 3 执行相同操作。

当您到达单元格 4 时,0.0001用光标在编辑器中选择容差(在我的示例中为 )。

按:

  • Ctrl Numpad +将容差加 1 并执行单元格
  • Ctrl Numpad -从容差中减去 1 并执行单元格
  • Ctrl Numpad *将容差乘以 0.1 并执行单元格
  • Ctrl Numpad /将容差除以 0.1 并执行单元格

同样,有工具栏按钮可以做同样的事情,工具栏编辑框可以更改增量和因子。

如果您需要修改中间变量a,bc,只需返回并重新执行较早的单元格之一。

于 2013-06-11T10:16:30.223 回答