How can I skip initialization for a variable in further executions?
    2 次查看(过去 30 天)
  
       显示 更早的评论
    
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
 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
      
      
 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.
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


