如何使s-function函数里的变量实时更新?

如何使s-function函数里的变量实时更新?

在进行永磁同步电机递推最小二乘法辨识参数时,需要使用S-Function模块来编写递推最小二乘算法。但是在算法中需要将上一个采样时刻计算出的参数拿到当前时刻来,所以如何在s函数中实时更新参数变量,显得尤为重要。

解决方法

假设需要实时更新变量P0
1、首先在s函数的switch case以前定义global P0
2、然后在mdlInitializeSizes函数设置global P0P0的初始值为1
3、最后在mdlOutputs函数中对P0值进行更新,例如:
K=P0+1;
P0=S*K;

这样就可以实时更新参数P0了。

你可能感兴趣的:(如何使s-function函数里的变量实时更新?)