我正致力于为简单的传递函数开发迭代学习控制器。
迭代由外部matlab循环控制。
但是随着试验的增加,错误e(k)
(k是试验号)没有更新......
请检测我提交的错误。
谢谢和问候。
答案 0 :(得分:0)
你可能已经解决了这个问题。但由于问题仍未解决,我想在此处添加一些内容。
首先,您可能想要检查"内存"的使用情况。块。 "The Memory block holds and delays its input by one major integration time step."错误未更新的原因是您的工厂的输出在每次迭代中都是相同的(您定义了外部循环)。内存块只延迟了U(K)的一步,而不是整个迭代。
您可能希望将每次迭代的错误存储到工作空间,并将其用于下一次迭代。
答案 1 :(得分:0)
内存应该是一个向量,长度为单次迭代。不仅仅是单一的价值。延迟块可以存储多个过去的样本。 这个人可能做了你想要的:https://github.com/arthurrichards77/iterative-learning-control