How to use previous result in objective function?

I'm currently working on a filter coefficient optimization problem. I'm using global optimization toolbox and the objective function is a bit complicated Now I want to use previous calculation results in the objective function, but I don't want to set those values as variables because they are fixed. I tried to write the objective function in function handles but I failed because for loop is needed to get this objective function. Is there anyway that I can use the previous calculation results in a new function, but not claiming them as variables?

 採用された回答

John D'Errico
John D'Errico 2017 年 2 月 9 日

0 投票

Once your objective function exits from the previous call, anything you did there gets dumped in the bit bucket. Lost forever.
You have two choices.
1. Use save to save values out to an m-file. This will be time consuming, something you really don't want to do, because it involves disk access.
2. Learn how to use persistent variables.

1 件のコメント

Gelei Deng
Gelei Deng 2017 年 2 月 9 日
Thank you so much! I just checked the documentation of persistent variables and it should work.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeProblem-Based Optimization Setup についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by