if ステートメントの条件が false の場合に自分自身を呼び出すスクリプトがあります。ユーザーが定義する反復の最大回数は、最大 20 回です。
問題は、アルゴリズム自体の内部で変化する変数があり、if ステートメントの条件が false の場合、プロセス全体が最初からやり直すことです。問題は、再起動時に行われる新しい計算は、最初の値ではなく、最後に計算された値に依存する必要があるということです。この時点で、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