[讨论][求助]用simulink下的matlab function的写程序时如何能避免反复初始化?
			 
			 
			
		
		
		
			
			用simulink下的matlab function的写程序时如何能避免反复初始化? 
 
我想要完成的任务:X(k)=X(k-1)+u  ~这是一个非常普通的状态方程吧,可我就是遇到了麻烦了~ 
 
其中u是matlab function的输入参数,X(k)是本次欲输出的值,X(k-1)是上次计算得到的值 
 
我编写的matlab function程序如下: 
 
function Xk = trigger_kalman(u) 
Xk_save=0;       %Xk_save 用来保存上一次的Xk输出值 
Xk = Xsave + u ;  %实现X(k)=X(k-1)+u 
Xk_save = Xk;     %保存这次得到的计算值 
 
我想要能让Xk_save保存住每次得到的Xk值,保存到下次计算新值时使用。 
但是如果这样写程序,每次上来都会初始化,因为Xk_save=0;根本保存不了上次的Xk值啊。:ft:  
但是如果去掉Xk_save=0;这句话,就会提示错误:“Xk_save变量使用之前未定义” 
不知我的问题有没有说清楚哦,因为是工作在simulink下,所以一切程序都是顺序执行的 
 
请问各位兄弟姐妹们,如果在simulink里遇到这种反复迭代计算的问题有什么办法吗? 
有什么想法都可以说说,谢谢大家了~~:lovely:
		 
		
		
		
		
		
		
		
	 |