我有一个 M 文件,它在输入变量上执行级联 5 个函数。每个步骤大约需要 1 分钟,预计第 4 步可能需要 20 分钟。我一直在修改第四个功能以加快速度。但是,每次我运行我的 m 文件时,我都必须等待 3 分钟才能执行前 3 个函数。是否可以设置一个断点,以便在出现问题时我可以继续返回到第三步的末尾。
我知道我可以保存第 3 个函数的输出并使用函数 4 创建一个 m 文件,但我不希望这样做,因为我想不断更改级联的输入。
我有一个 M 文件,它在输入变量上执行级联 5 个函数。每个步骤大约需要 1 分钟,预计第 4 步可能需要 20 分钟。我一直在修改第四个功能以加快速度。但是,每次我运行我的 m 文件时,我都必须等待 3 分钟才能执行前 3 个函数。是否可以设置一个断点,以便在出现问题时我可以继续返回到第三步的末尾。
我知道我可以保存第 3 个函数的输出并使用函数 4 创建一个 m 文件,但我不希望这样做,因为我想不断更改级联的输入。
也许这是一个可能适合您的工作流程。
创建一个包含单元格的脚本,由 分隔%%
:
%% 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
用光标在编辑器中选择容差(在我的示例中为 )。
按:
同样,有工具栏按钮可以做同样的事情,工具栏编辑框可以更改增量和因子。
如果您需要修改中间变量a
,b
等c
,只需返回并重新执行较早的单元格之一。