我有一个M文件,它在输入变量上执行5个函数的级联。每个步骤大约需要1分钟,预计第4步可能需要20分钟。我不断修补第四个功能来加速它。但是,每次运行我的m文件时,我必须等待3分钟才能执行前3个函数。是否可以设置断点,以便在出现问题时我可以继续回到第3步的末尾。
我知道我可以保存第3个函数的输出,只创建一个带有函数4的m文件,但我不想这样做,因为我想不断地将输入更改为级联。
答案 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
)。
出版社:
同样,有工具栏按钮可以做同样的事情,工具栏编辑框可以改变增量和因子。
如果您需要修改中间变量a
,b
,c
等,只需返回并重新执行其中一个早期单元格。