我有一个脚本,当 if 语句的条件为假时,它会调用自己。用户定义的最大迭代次数可达 20 次。
问题是算法本身内部有一个变量会发生变化,如果 if 语句的条件为假,则整个过程将重新开始。问题是当它再次开始时要进行的新计算应该取决于最后计算的值而不是初始值。在这一点上,我正在通过使用 set-get 函数来实现我想要的。设置值标准的问题在于它会在每次运行时更新 GUI,这非常耗时。任何想法都非常感谢。下面是有效的代码,但很长;请注意,这是对实际脚本的非常简短的摘要,但它可以达到目的。
FunctionOne
InitialPrice=str2double(get(handles.StockP,'String'));
TargetPrice=105;
T=str2double(get(handles.Time,'String')); %This value is maximum 20
StockPrice= InitialPrice*(1+randn) %just for simplicity
If Time > 0
If StockPrice>TargetPrice
update the GUI %end
else
set(handles.StockP,(StockPrice))
set(handles.Time,'String',(T-1))
FunctionOne
end
end
end