恢复到上一个​​断点

时间:2013-06-11 06:45:18

标签: matlab

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

我知道我可以保存第3个函数的输出,只创建一个带有函数4的m文件,但我不想这样做,因为我想不断地将输入更改为级联。

1 个答案:

答案 0 :(得分: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 输入执行单元格并前进到下一个单元格(有一个工具栏按钮,它做同样的事情)。对单元格2和3执行相同操作。

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

出版社:

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

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

如果您需要修改中间变量abc等,只需返回并重新执行其中一个早期单元格。