How can I skip initialization for a variable in further executions?

1 回表示 (過去 30 日間)
Jilan Samiuddin
Jilan Samiuddin 2015 年 3 月 24 日
編集済み: Walter Roberson 2015 年 5 月 6 日
I want to skip initialization of my variable in further executions of my function, except for the first time. e.g.
w_hat = w_nom; %initialization
w_hat = w_hat + del_w; %update of my variable
So for the first time I want w_hat to hold the value of w_nom, but in the next step when the function is recalled, I want w_hat to hold the value from its previous update. So how do I skip the initialization in the second and further steps?
Thanks in advance! I hope I was clear with my question.
**Updated: I will implement the function file in SIMULINK and so except for the first time the function is called, the objective is to initiate w_hat with the previous updated w_hat.
  1 件のコメント
Raghav
Raghav 2015 年 4 月 8 日
You can make use of persistent variables in this situation. Ex:
persistant w_hat;
if(isempty(w_hat))
w_hat = w_nom; %initialization
else
w_hat = w_hat + del_w; %update of my variable
end
Have a look at 'inmem' command as well. Hope this is what you were looking for.

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

回答 (1 件)

Star Strider
Star Strider 2015 年 3 月 24 日
You are not re-initialising it, you are reassigning it with a new value with the update.
I believe that is what you want to do.
  8 件のコメント
Jilan Samiuddin
Jilan Samiuddin 2015 年 3 月 25 日
Thanks man. :)
I just hope I get some answer soon because it is pretty much urgent for me.
Star Strider
Star Strider 2015 年 3 月 25 日
My pleasure!

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

カテゴリ

Help Center および File ExchangeSources についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by