matlab中place函数使用问题The "place" command cannot place the poles at the specified locations because the resulting eigenvector matrix is nearly singular.这个该如何解决?

来源:学生作业学帮网 编辑:学帮网 时间:2024/06/09 05:31:50

matlab中place函数使用问题
The "place" command cannot place the poles at the specified locations because the resulting eigenvector matrix is nearly singular.
这个该如何解决?

极点配置算法涉及到右除特征向量矩阵的计算,所以会对该矩阵条件数的倒数进行估计,如果不满足,就会导致此错误.
从根源上说,导致这个错误常见的原因有:
1、系统(A,B)不可控或接近不可控;
2、期望极点过于靠近.
从你贴出的期望极点看,应该不是第二个原因,猜测第一个原因的可能性偏大,但由于你没有给出A和B的数据,所以不敢确定.请检查一下系统的可控性:
rank(ctrb(A,B))

“place”命令不能放置在指定的零点位置,因为生成的特征向量矩阵接近奇异。我用place配置极点。极点的具体形式为
op=[ -3 + 6i -3 - 6i -10 -8 ] ;
怎么会是指定的位置?我不知道这个函数是干什么的,而且你也没有什么语句贴出来,所以帮不到你。
place函数:
用法为:K = place(A,B,P)或[K...

全部展开

“place”命令不能放置在指定的零点位置,因为生成的特征向量矩阵接近奇异。

收起