maltab求解LQR问题
我现在需要编程计算最优控制器问题,其中用到的是离散的LQR,因为做的是增维系统,参数A,B都是计算中得到的,现在每次编译都有错误,错误提示如下:??? Error using ==> @ss\private\abcdechkInvalid model: A,B,C must be arrays of real or complex numbers.
Error in ==> ar at 34
=dlqr(A,B,q,r);%LQR参数求解
请教高人这样的问题如何解决,多谢了! 原帖由 tianbian 于 2007-6-6 10:57 发表 http://www.chinavib.com/forum/images/common/back.gif
我现在需要编程计算最优控制器问题,其中用到的是离散的LQR,因为做的是增维系统,参数A,B都是计算中得到的,现在每次编译都有错误,错误提示如下:??? Error using ==> @ss\private\abcdechk
Invalid model: ...
错误提示已经给出,请自己调试一下,看看对应的输入是否符合要求
回复 #2 eight 的帖子
A,B,q,r矩阵好像没有什么问题啊,困惑中。数据如下:
A =[ 8957746938927295*2^(-53), 4504998423345645*2^(-52), 6149486737086532*2^(-54), 4504998423345645*2^(-52), -557653021590569/1247511170530463*exp(-198354276114343617/36028797018963968000)+557653021590569/1247511170530463, -14090383266467382/6237555852652315*exp(-198354276114343617/36028797018963968000)+14090383266467382/6237555852652315]
[ 4968038739241095*2^(-52), 8165157587619761*2^(-53), 4968038739241095*2^(-52), 8165157587619761*2^(-53), 45169894748836089/1801439850948198400*exp(53/540)-45169894748836089/1801439850948198400, 570660522291928971/4503599627370496000*exp(53/540)-570660522291928971/4503599627370496000]
[ 4575779168158886*2^(-52), 1, 1, 1, 2788265107952845/18014398509481984*exp(159/10000)-2788265107952845/18014398509481984, 7045191633233691/9007199254740992*exp(159/10000)-7045191633233691/9007199254740992]
[ 1, 4575779168158886*2^(-52), 1, 1, 88666830432900471/36028797018963968000, 1120185469684156869/90071992547409920000]
[ 0, 0, 0, 0, 0, 1]
[ 0, 0, 0, 0, -5576530215905690*2^(-55), -7045191633233691*2^(-53)]
B =
1152921504606847/102196115089855528960*exp(-198354276114343617/36028797018963968000)-2616687479509667314411/41389426611391489228800+128/2025*exp(159/512000)
-93386641873154607/147573952589676412928000*exp(53/540)+148040885799042185963/737869762948382064640000-1/5000*exp(-53/540)
-1152921504606847/295147905179352825856*exp(159/10000)+586116469904505833449/24903104499507894681600000
-295162753655410657438513/239069803195275788943360000+1/810*exp(159/10000)
0
0
都是计算出来的,看着是很乱,不过不知道该怎么计算才符合要求啊 看看数据的类型是否符合要求吧
回复 #5 eight 的帖子
都是直接计算得到的,如何能定义或者改变它的类型呢? 原帖由 tianbian 于 2007-6-6 12:18 发表 http://www.chinavib.com/forum/images/common/back.gif都是直接计算得到的,如何能定义或者改变它的类型呢?
whos 变量名
看看是否符合 dlqr 函数的输入要求
问题解决了
太谢谢了,这个问题解决了victory:
页:
[1]