1

我正在为一个简单的传递函数开发一个迭代学习控制器。

迭代

迭代由外部 matlab 循环控制。但是错误e(k)(k 是试验编号)没有更新......随着试验的增加。请检测我犯的错误。

谢谢并恭祝安康。

4

2 回答 2

0

你可能已经解决了这个问题。但由于问题仍然悬而未决,我想在这里添加一些内容。

首先,您可能要检查“内存”块的使用情况。“内存块保持并延迟其输入一个主要的积分时间步长。” 错误未更新的原因是您工厂生产的输出在每次迭代中都是相同的(您定义了外部循环)。内存块只延迟了 U(K) 的一步,而不是整个迭代。

您可能希望将每次迭代的错误存储到工作区,并将其用于下一次迭代。

于 2015-05-12T11:44:39.130 回答
0

内存应该是一个具有单次迭代长度的向量。不仅仅是单一的价值。延迟块可以存储多个过去的样本。这个人可能做了你想要的:https ://github.com/arthurrichards77/iterative-learning-control

于 2021-03-17T04:30:08.213 回答