記一些項目程序代碼

%1#機架
A1 = [-0.246 111.930 0;
      0 -33.333 0;
      0 0 -10];
B1 = [0 0;
      33.333 0;
      0 10];
C1 = [-0.00073 0.35462 0;
      1 0 0];
D1 = [0 0;
      0 0];
%2#機架
A2 = [-0.861 207.420 -186.767;
      0 -33.333 0;
      0 0 -10];
B2 = [0 0;
      33.333 0;
      0 10];
C2 = [-0.00106 0.27534 0;
      1 0 0];
D2 = [0 0;
      0 0];
%3#機架
A3 = [-2.482 413.642 -169.136;
      0 -33.333 0;
      0 0 -10];
B3 = [0 0;
      33.333 0;
      0 10];
C3 = [-0.00134 0.23710 0;
      1 0 0];
D3 = [0 0;
      0 0];
%4#機架
A4 = [-6.261 696.408 -141.048;
      0 -33.333 0;
      0 0 -10];
B4 = [0 0;
      33.333 0;
      0 10];
C4 = [-0.00133 0.15635 0;
      1 0 0];
D4 = [0 0;
      0 0];
%5#機架
A5 = [-9.908 599.494 -141.888;
      0 -33.333 0;
      0 0 -10];
B5 = [0 0;
      33.333 0;
      0 10];
C5 = [-0.00193 0.12437 0;
      1 0 0];
D5 = [0 0;
      0 0];

syms s

I = [1 0 0;0 1 0;0 0 1];

C1*inv(s*I-A1)*B1+D1 %手動求傳遞矩陣,然後把分子分母記下來

ans =

[ 591027423/(50000*(1000*s + 33333)) - 27236027637/(20000*(500*s + 123)*(1000*s + 33333)), 0]
[                                             1865481345/((500*s + 123)*(1000*s + 33333)), 0]

ans =

[ 458895411/(50000*(1000*s + 33333)) - 18321916779/(2500*(1000*s + 861)*(1000*s + 33333)),  174138909980744479/(87960930222080*(1000*s + 861)*(s + 10))]
[                                            6913930860/((1000*s + 861)*(1000*s + 33333)), -2053524881848401875/(1099511627776*(1000*s + 861)*(s + 10))]

ans =

[ 79032543/(10000*(1000*s + 33333)) - 16251507160821546183453/(1759218604441600*(500*s + 1241)*(1000*s + 33333)), 708257/(625*(500*s + 1241)*(s + 10))]
[                                        30319976046308854819875/(4398046511104*(500*s + 1241)*(1000*s + 33333)),    -845680/((500*s + 1241)*(s + 10))]

ans =

[ 104232291/(20000*(1000*s + 33333)) - 385922240739/(12500*(1000*s + 6261)*(1000*s + 33333)), 2344923/(1250*(1000*s + 6261)*(s + 10))]
[                                             23213367864/((1000*s + 6261)*(1000*s + 33333)),     -1410480/((1000*s + 6261)*(s + 10))]

ans =

[ 414562521/(100000*(1000*s + 33333)) - 33923946194456415525447/(3518437208883200*(250*s + 2477)*(1000*s + 33333)), 427881/(625*(250*s + 2477)*(s + 10))]
[                                          21971467742523585184875(20萬億億...)/(4398046511104*(250*s + 2477)*(1000*s + 33333)),    -354720/((250*s + 2477)*(s + 10))]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%事實證明上面的狀態空間模型是錯誤的,但是我現在不想改模型,我想繼續

%研究算法;那模型呢...模型我就用個標準模型吧,哪裏有標準模型?en...需要

%5個狀態空間模型係數矩陣,形式還要是一樣的;改模型是一個痛苦的過程,

%現在我繼續看他的原來的程序吧,就影響我進度了;但是能看的更懂,更熟悉,

%改的更快。不要猶豫,幹哪個都是有意義的。碰到困難就容易使人墮落嗎?

%不!是你自己墮落了,不要扯上其他人。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 

Warning: Your Hessian is not symmetric.

​ResettingH=(H+H')/2.

​quadprog函數中防止出現不對稱海森矩陣的標準是:

norm(H-H',inf)>eps

即如果其無窮範數大於機器精度(2.22e-16),則認爲海森矩陣不對稱。​

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章