SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Äîìàøíåå çàäàíèå ïî êóðñó "Èíôîðìàöèîííûå
òåõíîëîãèè ìàòåìàòè÷åñêîãî ìîäåëèðîâàíèÿ"
Êîæàíîâ Å.Ì. ÂÔÍ12-71
3 ñåíòÿáðÿ 2013 ã.
Ñîäåðæàíèå
1 Çàäàíèå 2
2 Óðàâíåíèÿ äâèæåíèÿ â ôîðìå Êîøè 3
3 Ñèñòåìà ïåðâîãî ïðèáëèæåíèÿ, îïèñûâàþùàÿ äâèæåíèå ìåõàíèç-
ìà 3
4 Ñòàáèëèçàöèÿ ïîëîæåíèÿ ðàâíîâåñèÿ ñ íàáëþäàòåëåì ïîëíîãî ïî-
ðÿäêà 3
5 Ïðîâåðêà ïîëó÷åííîãî ðåøåíèÿ (âû÷èñëèòåëüíûé ýêñïåðèìåíò) 5
6 Ïðèëîæåíèå 1. Êîä ïðîãðàììû íà ÿçûêå Python 8
7 Ïðèëîæåíèå 2. Êîä ìîäóëÿ ïðîãðàììû íà ÿçûêå Matlab 10
1
1 Çàäàíèå
Äëÿ ìàÿòíèêà ñ ìàõîâèêîì (ñì. ðèñ.),
äâèæåíèå êîòîðîãî çàïèñûâàåòñÿ ñ ïîìîùüþ óðàâíåíèé
D(q)¨q + G(q) = Q,
ãäå q =
q1
q2
, D(q) =
m1l2
c1
+ m2l2
1 + I1 + I2 I2
I2 I2
G(q) =
− ˜mgsinq1
0
, Q =
τ1
0
, ˜m = m1lc1 + m2l1,
m1 - ìàññà ìàÿòíèêà, m2 - ìàññà ìàõîâèêà, I1 - ìîìåíò èíåðöèè ìàÿòíèêà
îòíîñèòåëüíî åãî öåíòðà ìàññ, I2 - ìîìåíò èíåðöèè ìàõîâèêà, l1 - äëèíà
ìàÿòíèêà, lc1 - ðàññòîÿíèå îò øàðíèðà äî öåíòðà ìàññ ìàÿòíèêà, q1 - óãîë
ìåæäó ìàÿòíèêîì è ëó÷îì, íàïðàâëåííûì âåðòèêàëüíî ââåðõ, q2 - óãîë
ìåæäó ìàÿòíèêîì è ìàõîâèêîì, τ1 - óïðàâëÿþùèé ìîìåíò, ïðèëîæåííûé
ê ìàõîâèêó.
Òðåáóåòñÿ:
• çàïèñàòü äàííûå óðàâíåíèÿ äâèæåíèÿ â ôîðìå Êîøè;
• ñîñòàâèòü ñèñòåìó ïåðâîãî ïðèáëèæåíèÿ, îïèñûâàþùóþ äâèæåíèå
ìåõàíèçìà;
• ñòàáèëèçèðîâàòü ïîëîæåíèå ðàâíîâåñèÿ q = 0, èñïîëüçóÿ íàáëþ-
äàòåëü ïîëíîãî ïîðÿäêà ïî âûõîäó y1 = q2, y2 = ˙q2 è ïîëàãàÿ
m1 = 12êã, m2 = 8êã, l1 = 1ì, lc1 = 0.5ì, I1 = 1êã·ì2, I2 = 1êã·ì2;
• ïðîâåðèòü ïîëó÷åííîå ðåøåíèå ñ ïîìîùüþ âû÷èñëèòåëüíîãî ýêñ-
ïåðèìåíòà, ïðåäúÿâèòü ãðàôèêè ïåðåõîäíûõ ïðîöåññîâ çàòóõàíèÿ
âîçìóùåíèé.
2
2 Óðàâíåíèÿ äâèæåíèÿ â ôîðìå Êîøè
Ïðèâåä¼ì èìåþùèåñÿ óðàâíåíèÿ äâèæåíèÿ ê ôîðìå Êîøè. Ïðèìåì Θ =
m1l2
c1
+ m2l2
1 + I1 + I2.
detD = (Θ − I2)I2
D−1 = I2
detD
1 −1
−1 Θ/I2
= 1
Θ−I2
1 −1
−1 Θ/I2
¨q = D−1Q − D−1G(q)
D−1Q = 1
Θ−I2
1 −1
−1 Θ/I2
τ1
0
= τ1
Θ−I2
1
−1
D−1G = 1
Θ−I2
1 −1
−1 Θ/I2
− ˜mgsinq1
0
= ˜mgsinq1
Θ−I2
−1
1
Èòàê, óðàâíåíèÿ â ôîðìå Êîøè:


˙p1 = τ1− ˜mgsinq1
Θ−I2
˙p2 = −τ1+ ˜mgsinq1
Θ−I2
p1 = ˙q1
p2 = ˙q2
3 Ñèñòåìà ïåðâîãî ïðèáëèæåíèÿ, îïèñûâàþùàÿ äâèæå-
íèå ìåõàíèçìà
Ïðèíèìàÿ, ÷òî sinq1 ≈ q1, ïîëó÷àåì ñõåìó ïåðâîãî ïðèáëèæåíèÿ, îïè-
ñûâàþùóþ äâèæåíèå ìåõàíèçìà:


˙p1 = τ1− ˜mgq1
Θ−I2
˙p2 = −τ1+ ˜mgq1
Θ−I2
p1 = ˙q1
p2 = ˙q2
4 Ñòàáèëèçàöèÿ ïîëîæåíèÿ ðàâíîâåñèÿ ñ íàáëþäàòåëåì
ïîëíîãî ïîðÿäêà
Íåîáõîäèìî: ñòàáèëèçèðîâàòü ïîëîæåíèå ðàâíîâåñèÿ q = 0, èñïîëüçóÿ
íàáëþäàòåëü ïîëíîãî ïîðÿäêà ïî âûõîäó y1 = q2, y2 = ˙q2 è ïîëàãàÿ
m1 = 12êã, m2 = 8êã, l1 = 1ì, lc1 = 0.5ì, I1 = 1êã·ì2, I2 = 1êã·ì2.
Ïóñòü ξ =





p1
p2
q1
q2





.
Òîãäà óðàâíåíèå ñèñòåìû áóäåò âûãëÿäåòü ñëåäóþùèì îáðàçîì:
3





˙p1
˙p2
˙q1
˙q2





= A





p1
p2
q1
q2





+ Bτ1
ãäå A =





0 0 − ˜mg
Θ−I2
0
0 0 ˜mg
Θ−I2
0
1 0 0 0
0 1 0 0





, B =





1
Θ−I2
1
Θ−I2
0
0





.
Íàáëþäàòåëü ïîëíîãî ïîðÿäêà ïî âûõîäó ìîæåò áûòü çàäàí â âèäå âåê-
òîðà: y =
q1
˙q2
=





0
p2
0
q2





.
Åñëè çàïèñàòü ÷åðåç âåêòîð ξ: y = Cξ, ãäå C =





0 0 0 0
0 1 0 0
0 0 0 0
0 0 0 1





.
Òàêæå íàáëþäàòåëü ïîëíîãî ïîðÿäêà ìîæåò áûòü çàäàí äâóìÿ âåêòîðà-
ìè:
y1 = q2 = 0 0 0 1





p1
p2
q1
q2





= C1ξ, y2 = ˙q2 = 0 1 0 0





p1
p2
q1
q2





=
C2ξ
 ðåçóëüòàòå ïîëó÷àåì ñèñòåìó:


˙ξ = Aξ + Bu
y1 = C1ξ
y2 = C2ξ
u = Kξr
Âåêòîð îøèáêè: e = ξ−ξr, ãäå ξr = Aξr +Bu+L1(C1ξr −y1)+L2(C2ξr −y2)
Ïðîâîäèì ïðåîáðàçîâàíèÿ:
˙ξ = (A + BK)ξ − BKe
˙e = ˙ξ − ˙ξr = Aξ + Bu = Aξr − Bu − L1(C1ξr − y1) − L2(C2ξr − y2) =
A(ξ − ξr) + L1C1(ξ − ξr) + L2C2(ξ − ξ2) = (A + L1C1 + L2C2)e
˙ξ
˙e
=
A + BK −BK
0 A + L1C1 + L2C2
ξ
e
Ïåðâàÿ ñèñòåìà ïðèíèìàåò âèä:
QAT + AQ + XT BT + BX 0
Q 0
Äëÿ âòîðîé ñèñòåìû ïðîâîäÿòñÿ ïðåîáðàçîâàíèÿ:
(A + L1C1 + L2C2)T R + R(A + L1C1 + L2C2) 0
AT R + RA + CT
1 LT
1 R + CT
2 LT
2 R + RL1C1 + RL2C2 0
Çàìåíà ïåðåìåííûõ: RL1 = Y1, RL2 = Y2.
4
AT R + RA + CT
1 Y T
1 + CT
2 Y T
2 + Y1C1 + Y2C2 0
R 0
5 Ïðîâåðêà ïîëó÷åííîãî ðåøåíèÿ (âû÷èñëèòåëüíûé ýêñ-
ïåðèìåíò)
Ðåøàÿ çàäà÷ó LMI, ïîëó÷àåì ñëåäóþùèé ðåçóëüòàò:
K = 254.73734601 11.78931085 858.59504097 4.04721376
L1 =





73.6261
−51.1119
8.7012
−0.5





L2 =





16.5875
−3.9705
11.5239
25.5125





T =
A + BK −BK
0 A + L1C1 + L2C2
=
=














−21.228 −0.982 −60.105 −0.337 21.228 0.982 71.550 0.337
275.965 12.772 918.700 4.384 −275.965 −12.772 −930.145 −4.384
1.000 0.000 0.000 0.000 −0.000 −0.000 −0.000 −0.000
0.000 1.000 0.000 0.000 −0.000 −0.000 −0.000 −0.000
0.000 0.000 0.000 0.000 0.000 16.587 11.445 73.626
0.000 0.000 0.000 0.000 0.000 −3.970 −11.445 −51.112
0.000 0.000 0.000 0.000 1.000 11.524 0.000 8.701
0.000 0.000 0.000 0.000 0.000 26.512 0.000 −0.500














Ìîäåëèðîâàíèå ïðîâîäèì â ñëåäóþùåé ïîñëåäîâàòåëüíîñòè:
• Çàäà¼ì íà÷àëüíîå çíà÷åíèå âåêòîðà
ξ
e
.
• Âû÷èñëÿåì "ñêîðîñòü èçìåíåíèÿ âåêòîð
˙ξ
˙e
.
• Âû÷èñëÿåì çíà÷åíèå âåêòîðà
ξ
e
íà ñëåäóþùèé ìîìåíò âðåìå-
íè:
ξ
e
=
˙ξ
˙e
∆t (çäåñü ∆t - øàã ìîäåëèðîâàíèÿ).
• Ïîâòîðÿåì ïðåäûäóùèå äâà øàãà äî îêîí÷àíèÿ ïåðèîäà ýêñïåðè-
ìåíòà.
5
Ðåçóëüòàòû ìîäåëèðîâàíèÿ äëÿ îòêëîíåíèé â 0.01 ðàä, 0.2 ðàä è 0.5
ðàä ñîîòâåòñòâåííî:
6
7
6 Ïðèëîæåíèå 1. Êîä ïðîãðàììû íà ÿçûêå Python
Ê ñîæàëåíèþ, âòîðîå íåðàâåíñòâî íå óäàëîñü ðåøèòü ñ ïîìîùüþ áèá-
ëèîòåêè picos, ïîýòîìó äàííûé ó÷àñòîê êîäà çàêîììåíòèðîâàí:
__author__ = 'eugeny'
import picos as pic
import scipy as s
import numpy as np
from numpy import linalg as la
m1, m2 = 12.0, 8.0
l1, lc1 = 1.0, 0.5
I1, I2 = 1.0, 1.0
g = 9.81
tetta = m1 * lc1 * lc1 + m2 * l1 * l1 + I1 + I2
m_tilda = m1 * lc1 + m2 * l1
C1 = np.mat([[0.0, 0.0, 0.0, 1.0], ])
C2 = np.mat([[0.0, 1.0, 0.0, 0.0], ])
A = np.mat([[0.0, 0.0, m_tilda * g / (tetta - I2), 0.0],
[0.0, 0.0, - m_tilda * g / (tetta - I2), 0.0],
[1.0, 0.0, 0.0, 0.0],
[0.0, 1.0, 0.0, 0.0]])
B = np.mat([[-1.0 / (tetta - I2), tetta / (I2 * (tetta - I2)), 0.0, 0.0], ]).T
n = len(A)
m = len(A[0])
Ap = pic.new_param('A', A)
Bp = pic.new_param('B', B)
Ep = pic.new_param('E', s.eye(n))
sdp = pic.Problem()
Xp = sdp.add_variable('X', (1, n))
Qp = sdp.add_variable('Q', (n, n), vtype='symmetric')
sdp.add_constraint(Qp >> Ep)
sdp.add_constraint(Qp * Ap.T + Ap * Qp + Xp.T * Bp.T + Bp * Xp << 0)
sdp.solve()
Q = np.mat(Qp.value)
X = np.mat(Xp.value)
P = la.inv(Q)
K = X * P
8
# Ap = pic.new_param('A', A)
# C1p = pic.new_param('C1', C1)
# C2p = pic.new_param('C2', C2)
# Ep = pic.new_param('E', s.eye(n))
# sdp = pic.Problem()
# Y1p = sdp.add_variable('Y1', (n, 1))
# Y2p = sdp.add_variable('Y2', (n, 1))
# Rp = sdp.add_variable('R', (n, n), vtype='symmetric')
# sdp.add_constraint(Rp >> Ep)
# sdp.add_constraint(Ap.T * Rp + Rp * Ap + C1p.T * Y1p.T + Y1p * C1p + C2p.T * Y2p.T + Y2p *
# print sdp
# sdp.solve()
# Y1 = np.mat(Y1p.value)
# Y2 = np.mat(Y2p.value)
# R = np.mat(Rp.value)
# print Y1
# print Y2
# L1 = la.pinv(R) * Y1
# L2 = la.pinv(R) * Y2
# results from Matlab
P = np.mat([[7.6100, -2.3982, 1.5662, 0.0000],
[-2.3982, 1.6648, -0.2834, -0.0000],
[1.5662, -0.2834, 1.2924, 0.0000],
[0.0000, -0.0000, 0.0000, 0.8636]])
L1 = np.mat([[73.6261], [-51.1119], [8.7012], [-0.5000]])
L2 = np.mat([[16.5875], [-3.9705], [11.5239], [25.5125]])
print "K = ", K
print "L1 = ", L1
print "L2 = ", L2
Tetta = np.bmat([[A + np.dot(B, K), - np.dot(B, K)], [np.zeros((len(A), len(A))), A + np.dot(L1, C1) +
print "Tetta: "
for i in Tetta.tolist():
for j in i:
print "%.3f & " % j,
print "  "
eps = [[0.0], [0.0], [0.5], [0.0]]
e = [[0.0], [0.0], [0.0], [0.0]]
epse = np.bmat([[eps], [e]])
t_angle = [[0, ], [epse[2].tolist()[0][0], ]]
9
t_omega = [[0, ], [epse[0].tolist()[0][0] / 10.0, ]]
t_angle2 = [[0, ], [epse[3].tolist()[0][0], ]]
t_omega2 = [[0, ], [epse[1].tolist()[0][0], ]]
for t in range(1, 300):
epse_di = np.dot(Tetta, epse)
epse += epse_di / 100.0
t_angle[1].append(epse[2].tolist()[0][0])
t_angle[0].append(t / 100.0)
t_omega[1].append(epse[0].tolist()[0][0] / 10.0)
t_omega[0].append(t / 100.0)
t_angle2[1].append(epse[3].tolist()[0][0])
t_angle2[0].append(t / 100.0)
t_omega2[1].append(epse[1].tolist()[0][0])
t_omega2[0].append(t / 100.0)
import matplotlib.pyplot as plt
plt.plot(t_angle[0], t_angle[1], 'b')
plt.plot(t_omega[0], t_omega[1], 'r')
# plt.plot(t_angle2[0], t_angle2[1], 'g')
# plt.plot(t_omega2[0], t_omega2[1], 'y')
plt.saveg('stab_angle.png')
7 Ïðèëîæåíèå 2. Êîä ìîäóëÿ ïðîãðàììû íà ÿçûêå Matlab
Ïðèâåä¼í êîä ðåøåíèÿ òîëüêî âòîðîãî íåðàâåíñòâà, îñòàëüíîå ïðîäåëàíî
â Python:
A = [0 0 11.445 0;0 0 -11.445 0;1 0 0 0;0 1 0 0];
B = [-0.0833333;1.08333333;0.01;0.01];
C1 = [0 0 0 1];
C2 = [0 1 0 0];
setlmis([]);
szA = size(A);
szC = size(C1);
n = szA(1);
if min(szA) == max(szA)  length(szA) == 2
q = lmivar(1,[n 1]);
y1 = lmivar(2,szC);
y2 = lmivar(2,szC);
lmi1 = newlmi;
10
lmiterm([-lmi1 1 1 q],1,1); % 0Q
lmi2 = newlmi;
lmiterm([lmi2 1 1 q],1,A,'s'); % QA + A'Q
lmiterm([lmi2 1 1 y1],C1',1,'s'); % C1'Y1' + Y1C1
lmiterm([lmi2 1 1 y2],C2',1,'s'); % C2'Y2' + Y2C2
lmisys = getlmis;
[tmin,xfeas] = feasp(lmisys);
if tmin0
Q = dec2mat(lmisys,xfeas,q);
Y1 = dec2mat(lmisys,xfeas,y1);
Y2 = dec2mat(lmisys,xfeas,y2);
P = inv(Q);
K1 = P*Y1'
K2 = P*Y2'
else
K1 = []; K2 = []; P = [];
end
else
error('Ìàòðèöà A íå ÿâëÿåòñÿ êâàäðàòíîé!')
end
11

Mais conteúdo relacionado

Mais procurados

Jab zindagi-shuru-ho-gee
Jab zindagi-shuru-ho-geeJab zindagi-shuru-ho-gee
Jab zindagi-shuru-ho-geeMohammad Younus
 
Huzur tajushsharia ki naatiya shaeri
Huzur tajushsharia ki naatiya shaeriHuzur tajushsharia ki naatiya shaeri
Huzur tajushsharia ki naatiya shaeriMushahid Razvi
 
Hazrat umme salama wo hazrat zainab bint jahash
Hazrat umme salama wo hazrat zainab bint jahashHazrat umme salama wo hazrat zainab bint jahash
Hazrat umme salama wo hazrat zainab bint jahashMushahid Razvi
 
Al Fazal International Weekly Magazine -10 February 2017
Al Fazal International Weekly Magazine -10 February 2017Al Fazal International Weekly Magazine -10 February 2017
Al Fazal International Weekly Magazine -10 February 2017muzaffertahir9
 
»ç¿ë¼³¸í¼­ Dwd t115_rwg
»ç¿ë¼³¸í¼­ Dwd t115_rwg»ç¿ë¼³¸í¼­ Dwd t115_rwg
»ç¿ë¼³¸í¼­ Dwd t115_rwgJPGUNS72
 
藏漢對照菩提道次第廣論32(S5392 L)
藏漢對照菩提道次第廣論32(S5392 L)藏漢對照菩提道次第廣論32(S5392 L)
藏漢對照菩提道次第廣論32(S5392 L)pedmavajra
 
Smau Milano 2015 - Unicom
Smau Milano 2015 - UnicomSmau Milano 2015 - Unicom
Smau Milano 2015 - UnicomSMAU
 
Prova objetiva-soldado-policia-militar-es-2010-cespe
Prova objetiva-soldado-policia-militar-es-2010-cespeProva objetiva-soldado-policia-militar-es-2010-cespe
Prova objetiva-soldado-policia-militar-es-2010-cespesilvio
 
Auliya e islam directory (tabsera)
Auliya e islam directory (tabsera)Auliya e islam directory (tabsera)
Auliya e islam directory (tabsera)Mushahid Razvi
 
Islam ka-iqtasadi-nizam - اسلام کا اقتسادی نظام
Islam ka-iqtasadi-nizam - اسلام کا اقتسادی نظامIslam ka-iqtasadi-nizam - اسلام کا اقتسادی نظام
Islam ka-iqtasadi-nizam - اسلام کا اقتسادی نظامmuzaffertahir9
 
Seerat ul Mahdi Vol 1------ سیرت االمہدی علیہ السلام والیوم 1
Seerat ul Mahdi Vol 1------ سیرت االمہدی علیہ السلام والیوم 1Seerat ul Mahdi Vol 1------ سیرت االمہدی علیہ السلام والیوم 1
Seerat ul Mahdi Vol 1------ سیرت االمہدی علیہ السلام والیوم 1muzaffertahir9
 
Al Fazl International 16th September 2016 - Weekly
Al Fazl International 16th September 2016 - WeeklyAl Fazl International 16th September 2016 - Weekly
Al Fazl International 16th September 2016 - Weeklymuzaffertahir9
 

Mais procurados (19)

Jab zindagi-shuru-ho-gee
Jab zindagi-shuru-ho-geeJab zindagi-shuru-ho-gee
Jab zindagi-shuru-ho-gee
 
Huzur tajushsharia ki naatiya shaeri
Huzur tajushsharia ki naatiya shaeriHuzur tajushsharia ki naatiya shaeri
Huzur tajushsharia ki naatiya shaeri
 
Jadeed falkiyaat aur rooyat e hilal
Jadeed falkiyaat aur rooyat e hilalJadeed falkiyaat aur rooyat e hilal
Jadeed falkiyaat aur rooyat e hilal
 
Hazrat umme salama wo hazrat zainab bint jahash
Hazrat umme salama wo hazrat zainab bint jahashHazrat umme salama wo hazrat zainab bint jahash
Hazrat umme salama wo hazrat zainab bint jahash
 
Usool us sunnah
Usool us sunnahUsool us sunnah
Usool us sunnah
 
250 deeni sawalat
250 deeni sawalat250 deeni sawalat
250 deeni sawalat
 
Al Fazal International Weekly Magazine -10 February 2017
Al Fazal International Weekly Magazine -10 February 2017Al Fazal International Weekly Magazine -10 February 2017
Al Fazal International Weekly Magazine -10 February 2017
 
»ç¿ë¼³¸í¼­ Dwd t115_rwg
»ç¿ë¼³¸í¼­ Dwd t115_rwg»ç¿ë¼³¸í¼­ Dwd t115_rwg
»ç¿ë¼³¸í¼­ Dwd t115_rwg
 
藏漢對照菩提道次第廣論32(S5392 L)
藏漢對照菩提道次第廣論32(S5392 L)藏漢對照菩提道次第廣論32(S5392 L)
藏漢對照菩提道次第廣論32(S5392 L)
 
Smau Milano 2015 - Unicom
Smau Milano 2015 - UnicomSmau Milano 2015 - Unicom
Smau Milano 2015 - Unicom
 
Safar e akhrat k islami ahkam
Safar e akhrat k islami ahkamSafar e akhrat k islami ahkam
Safar e akhrat k islami ahkam
 
Prova objetiva-soldado-policia-militar-es-2010-cespe
Prova objetiva-soldado-policia-militar-es-2010-cespeProva objetiva-soldado-policia-militar-es-2010-cespe
Prova objetiva-soldado-policia-militar-es-2010-cespe
 
Mardane arab 2
Mardane arab 2Mardane arab 2
Mardane arab 2
 
Auliya e islam directory (tabsera)
Auliya e islam directory (tabsera)Auliya e islam directory (tabsera)
Auliya e islam directory (tabsera)
 
Islam ka-iqtasadi-nizam - اسلام کا اقتسادی نظام
Islam ka-iqtasadi-nizam - اسلام کا اقتسادی نظامIslam ka-iqtasadi-nizam - اسلام کا اقتسادی نظام
Islam ka-iqtasadi-nizam - اسلام کا اقتسادی نظام
 
Sports
SportsSports
Sports
 
Seerat ul Mahdi Vol 1------ سیرت االمہدی علیہ السلام والیوم 1
Seerat ul Mahdi Vol 1------ سیرت االمہدی علیہ السلام والیوم 1Seerat ul Mahdi Vol 1------ سیرت االمہدی علیہ السلام والیوم 1
Seerat ul Mahdi Vol 1------ سیرت االمہدی علیہ السلام والیوم 1
 
Al Fazl International 16th September 2016 - Weekly
Al Fazl International 16th September 2016 - WeeklyAl Fazl International 16th September 2016 - Weekly
Al Fazl International 16th September 2016 - Weekly
 
Asr e-hazir mein ruyate hilaal
Asr e-hazir mein ruyate hilaalAsr e-hazir mein ruyate hilaal
Asr e-hazir mein ruyate hilaal
 

Último

Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmibookbahareshariat
 
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmibookbahareshariat
 
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmibookbahareshariat
 
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaranFAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaransekolah233
 
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmibookbahareshariat
 
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...Eesti Loodusturism
 
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdfمحاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdfKhaled Elbattawy
 

Último (8)

Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
 
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
 
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
 
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaranFAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
 
Energy drink .
Energy drink                           .Energy drink                           .
Energy drink .
 
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmi
 
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
 
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdfمحاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
 

Стабильность системы и LMI (простой пример)

  • 1. Äîìàøíåå çàäàíèå ïî êóðñó "Èíôîðìàöèîííûå òåõíîëîãèè ìàòåìàòè÷åñêîãî ìîäåëèðîâàíèÿ" Êîæàíîâ Å.Ì. ÂÔÍ12-71 3 ñåíòÿáðÿ 2013 ã. Ñîäåðæàíèå 1 Çàäàíèå 2 2 Óðàâíåíèÿ äâèæåíèÿ â ôîðìå Êîøè 3 3 Ñèñòåìà ïåðâîãî ïðèáëèæåíèÿ, îïèñûâàþùàÿ äâèæåíèå ìåõàíèç- ìà 3 4 Ñòàáèëèçàöèÿ ïîëîæåíèÿ ðàâíîâåñèÿ ñ íàáëþäàòåëåì ïîëíîãî ïî- ðÿäêà 3 5 Ïðîâåðêà ïîëó÷åííîãî ðåøåíèÿ (âû÷èñëèòåëüíûé ýêñïåðèìåíò) 5 6 Ïðèëîæåíèå 1. Êîä ïðîãðàììû íà ÿçûêå Python 8 7 Ïðèëîæåíèå 2. Êîä ìîäóëÿ ïðîãðàììû íà ÿçûêå Matlab 10 1
  • 2. 1 Çàäàíèå Äëÿ ìàÿòíèêà ñ ìàõîâèêîì (ñì. ðèñ.), äâèæåíèå êîòîðîãî çàïèñûâàåòñÿ ñ ïîìîùüþ óðàâíåíèé D(q)¨q + G(q) = Q, ãäå q = q1 q2 , D(q) = m1l2 c1 + m2l2 1 + I1 + I2 I2 I2 I2 G(q) = − ˜mgsinq1 0 , Q = τ1 0 , ˜m = m1lc1 + m2l1, m1 - ìàññà ìàÿòíèêà, m2 - ìàññà ìàõîâèêà, I1 - ìîìåíò èíåðöèè ìàÿòíèêà îòíîñèòåëüíî åãî öåíòðà ìàññ, I2 - ìîìåíò èíåðöèè ìàõîâèêà, l1 - äëèíà ìàÿòíèêà, lc1 - ðàññòîÿíèå îò øàðíèðà äî öåíòðà ìàññ ìàÿòíèêà, q1 - óãîë ìåæäó ìàÿòíèêîì è ëó÷îì, íàïðàâëåííûì âåðòèêàëüíî ââåðõ, q2 - óãîë ìåæäó ìàÿòíèêîì è ìàõîâèêîì, τ1 - óïðàâëÿþùèé ìîìåíò, ïðèëîæåííûé ê ìàõîâèêó. Òðåáóåòñÿ: • çàïèñàòü äàííûå óðàâíåíèÿ äâèæåíèÿ â ôîðìå Êîøè; • ñîñòàâèòü ñèñòåìó ïåðâîãî ïðèáëèæåíèÿ, îïèñûâàþùóþ äâèæåíèå ìåõàíèçìà; • ñòàáèëèçèðîâàòü ïîëîæåíèå ðàâíîâåñèÿ q = 0, èñïîëüçóÿ íàáëþ- äàòåëü ïîëíîãî ïîðÿäêà ïî âûõîäó y1 = q2, y2 = ˙q2 è ïîëàãàÿ m1 = 12êã, m2 = 8êã, l1 = 1ì, lc1 = 0.5ì, I1 = 1êã·ì2, I2 = 1êã·ì2; • ïðîâåðèòü ïîëó÷åííîå ðåøåíèå ñ ïîìîùüþ âû÷èñëèòåëüíîãî ýêñ- ïåðèìåíòà, ïðåäúÿâèòü ãðàôèêè ïåðåõîäíûõ ïðîöåññîâ çàòóõàíèÿ âîçìóùåíèé. 2
  • 3. 2 Óðàâíåíèÿ äâèæåíèÿ â ôîðìå Êîøè Ïðèâåä¼ì èìåþùèåñÿ óðàâíåíèÿ äâèæåíèÿ ê ôîðìå Êîøè. Ïðèìåì Θ = m1l2 c1 + m2l2 1 + I1 + I2. detD = (Θ − I2)I2 D−1 = I2 detD 1 −1 −1 Θ/I2 = 1 Θ−I2 1 −1 −1 Θ/I2 ¨q = D−1Q − D−1G(q) D−1Q = 1 Θ−I2 1 −1 −1 Θ/I2 τ1 0 = τ1 Θ−I2 1 −1 D−1G = 1 Θ−I2 1 −1 −1 Θ/I2 − ˜mgsinq1 0 = ˜mgsinq1 Θ−I2 −1 1 Èòàê, óðàâíåíèÿ â ôîðìå Êîøè:   ˙p1 = τ1− ˜mgsinq1 Θ−I2 ˙p2 = −τ1+ ˜mgsinq1 Θ−I2 p1 = ˙q1 p2 = ˙q2 3 Ñèñòåìà ïåðâîãî ïðèáëèæåíèÿ, îïèñûâàþùàÿ äâèæå- íèå ìåõàíèçìà Ïðèíèìàÿ, ÷òî sinq1 ≈ q1, ïîëó÷àåì ñõåìó ïåðâîãî ïðèáëèæåíèÿ, îïè- ñûâàþùóþ äâèæåíèå ìåõàíèçìà:   ˙p1 = τ1− ˜mgq1 Θ−I2 ˙p2 = −τ1+ ˜mgq1 Θ−I2 p1 = ˙q1 p2 = ˙q2 4 Ñòàáèëèçàöèÿ ïîëîæåíèÿ ðàâíîâåñèÿ ñ íàáëþäàòåëåì ïîëíîãî ïîðÿäêà Íåîáõîäèìî: ñòàáèëèçèðîâàòü ïîëîæåíèå ðàâíîâåñèÿ q = 0, èñïîëüçóÿ íàáëþäàòåëü ïîëíîãî ïîðÿäêà ïî âûõîäó y1 = q2, y2 = ˙q2 è ïîëàãàÿ m1 = 12êã, m2 = 8êã, l1 = 1ì, lc1 = 0.5ì, I1 = 1êã·ì2, I2 = 1êã·ì2. Ïóñòü ξ =      p1 p2 q1 q2      . Òîãäà óðàâíåíèå ñèñòåìû áóäåò âûãëÿäåòü ñëåäóþùèì îáðàçîì: 3
  • 4.      ˙p1 ˙p2 ˙q1 ˙q2      = A      p1 p2 q1 q2      + Bτ1 ãäå A =      0 0 − ˜mg Θ−I2 0 0 0 ˜mg Θ−I2 0 1 0 0 0 0 1 0 0      , B =      1 Θ−I2 1 Θ−I2 0 0      . Íàáëþäàòåëü ïîëíîãî ïîðÿäêà ïî âûõîäó ìîæåò áûòü çàäàí â âèäå âåê- òîðà: y = q1 ˙q2 =      0 p2 0 q2      . Åñëè çàïèñàòü ÷åðåç âåêòîð ξ: y = Cξ, ãäå C =      0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1      . Òàêæå íàáëþäàòåëü ïîëíîãî ïîðÿäêà ìîæåò áûòü çàäàí äâóìÿ âåêòîðà- ìè: y1 = q2 = 0 0 0 1      p1 p2 q1 q2      = C1ξ, y2 = ˙q2 = 0 1 0 0      p1 p2 q1 q2      = C2ξ  ðåçóëüòàòå ïîëó÷àåì ñèñòåìó:   ˙ξ = Aξ + Bu y1 = C1ξ y2 = C2ξ u = Kξr Âåêòîð îøèáêè: e = ξ−ξr, ãäå ξr = Aξr +Bu+L1(C1ξr −y1)+L2(C2ξr −y2) Ïðîâîäèì ïðåîáðàçîâàíèÿ: ˙ξ = (A + BK)ξ − BKe ˙e = ˙ξ − ˙ξr = Aξ + Bu = Aξr − Bu − L1(C1ξr − y1) − L2(C2ξr − y2) = A(ξ − ξr) + L1C1(ξ − ξr) + L2C2(ξ − ξ2) = (A + L1C1 + L2C2)e ˙ξ ˙e = A + BK −BK 0 A + L1C1 + L2C2 ξ e Ïåðâàÿ ñèñòåìà ïðèíèìàåò âèä: QAT + AQ + XT BT + BX 0 Q 0 Äëÿ âòîðîé ñèñòåìû ïðîâîäÿòñÿ ïðåîáðàçîâàíèÿ: (A + L1C1 + L2C2)T R + R(A + L1C1 + L2C2) 0 AT R + RA + CT 1 LT 1 R + CT 2 LT 2 R + RL1C1 + RL2C2 0 Çàìåíà ïåðåìåííûõ: RL1 = Y1, RL2 = Y2. 4
  • 5. AT R + RA + CT 1 Y T 1 + CT 2 Y T 2 + Y1C1 + Y2C2 0 R 0 5 Ïðîâåðêà ïîëó÷åííîãî ðåøåíèÿ (âû÷èñëèòåëüíûé ýêñ- ïåðèìåíò) Ðåøàÿ çàäà÷ó LMI, ïîëó÷àåì ñëåäóþùèé ðåçóëüòàò: K = 254.73734601 11.78931085 858.59504097 4.04721376 L1 =      73.6261 −51.1119 8.7012 −0.5      L2 =      16.5875 −3.9705 11.5239 25.5125      T = A + BK −BK 0 A + L1C1 + L2C2 = =               −21.228 −0.982 −60.105 −0.337 21.228 0.982 71.550 0.337 275.965 12.772 918.700 4.384 −275.965 −12.772 −930.145 −4.384 1.000 0.000 0.000 0.000 −0.000 −0.000 −0.000 −0.000 0.000 1.000 0.000 0.000 −0.000 −0.000 −0.000 −0.000 0.000 0.000 0.000 0.000 0.000 16.587 11.445 73.626 0.000 0.000 0.000 0.000 0.000 −3.970 −11.445 −51.112 0.000 0.000 0.000 0.000 1.000 11.524 0.000 8.701 0.000 0.000 0.000 0.000 0.000 26.512 0.000 −0.500               Ìîäåëèðîâàíèå ïðîâîäèì â ñëåäóþùåé ïîñëåäîâàòåëüíîñòè: • Çàäà¼ì íà÷àëüíîå çíà÷åíèå âåêòîðà ξ e . • Âû÷èñëÿåì "ñêîðîñòü èçìåíåíèÿ âåêòîð ˙ξ ˙e . • Âû÷èñëÿåì çíà÷åíèå âåêòîðà ξ e íà ñëåäóþùèé ìîìåíò âðåìå- íè: ξ e = ˙ξ ˙e ∆t (çäåñü ∆t - øàã ìîäåëèðîâàíèÿ). • Ïîâòîðÿåì ïðåäûäóùèå äâà øàãà äî îêîí÷àíèÿ ïåðèîäà ýêñïåðè- ìåíòà. 5
  • 6. Ðåçóëüòàòû ìîäåëèðîâàíèÿ äëÿ îòêëîíåíèé â 0.01 ðàä, 0.2 ðàä è 0.5 ðàä ñîîòâåòñòâåííî: 6
  • 7. 7
  • 8. 6 Ïðèëîæåíèå 1. Êîä ïðîãðàììû íà ÿçûêå Python Ê ñîæàëåíèþ, âòîðîå íåðàâåíñòâî íå óäàëîñü ðåøèòü ñ ïîìîùüþ áèá- ëèîòåêè picos, ïîýòîìó äàííûé ó÷àñòîê êîäà çàêîììåíòèðîâàí: __author__ = 'eugeny' import picos as pic import scipy as s import numpy as np from numpy import linalg as la m1, m2 = 12.0, 8.0 l1, lc1 = 1.0, 0.5 I1, I2 = 1.0, 1.0 g = 9.81 tetta = m1 * lc1 * lc1 + m2 * l1 * l1 + I1 + I2 m_tilda = m1 * lc1 + m2 * l1 C1 = np.mat([[0.0, 0.0, 0.0, 1.0], ]) C2 = np.mat([[0.0, 1.0, 0.0, 0.0], ]) A = np.mat([[0.0, 0.0, m_tilda * g / (tetta - I2), 0.0], [0.0, 0.0, - m_tilda * g / (tetta - I2), 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0]]) B = np.mat([[-1.0 / (tetta - I2), tetta / (I2 * (tetta - I2)), 0.0, 0.0], ]).T n = len(A) m = len(A[0]) Ap = pic.new_param('A', A) Bp = pic.new_param('B', B) Ep = pic.new_param('E', s.eye(n)) sdp = pic.Problem() Xp = sdp.add_variable('X', (1, n)) Qp = sdp.add_variable('Q', (n, n), vtype='symmetric') sdp.add_constraint(Qp >> Ep) sdp.add_constraint(Qp * Ap.T + Ap * Qp + Xp.T * Bp.T + Bp * Xp << 0) sdp.solve() Q = np.mat(Qp.value) X = np.mat(Xp.value) P = la.inv(Q) K = X * P 8
  • 9. # Ap = pic.new_param('A', A) # C1p = pic.new_param('C1', C1) # C2p = pic.new_param('C2', C2) # Ep = pic.new_param('E', s.eye(n)) # sdp = pic.Problem() # Y1p = sdp.add_variable('Y1', (n, 1)) # Y2p = sdp.add_variable('Y2', (n, 1)) # Rp = sdp.add_variable('R', (n, n), vtype='symmetric') # sdp.add_constraint(Rp >> Ep) # sdp.add_constraint(Ap.T * Rp + Rp * Ap + C1p.T * Y1p.T + Y1p * C1p + C2p.T * Y2p.T + Y2p * # print sdp # sdp.solve() # Y1 = np.mat(Y1p.value) # Y2 = np.mat(Y2p.value) # R = np.mat(Rp.value) # print Y1 # print Y2 # L1 = la.pinv(R) * Y1 # L2 = la.pinv(R) * Y2 # results from Matlab P = np.mat([[7.6100, -2.3982, 1.5662, 0.0000], [-2.3982, 1.6648, -0.2834, -0.0000], [1.5662, -0.2834, 1.2924, 0.0000], [0.0000, -0.0000, 0.0000, 0.8636]]) L1 = np.mat([[73.6261], [-51.1119], [8.7012], [-0.5000]]) L2 = np.mat([[16.5875], [-3.9705], [11.5239], [25.5125]]) print "K = ", K print "L1 = ", L1 print "L2 = ", L2 Tetta = np.bmat([[A + np.dot(B, K), - np.dot(B, K)], [np.zeros((len(A), len(A))), A + np.dot(L1, C1) + print "Tetta: " for i in Tetta.tolist(): for j in i: print "%.3f & " % j, print " " eps = [[0.0], [0.0], [0.5], [0.0]] e = [[0.0], [0.0], [0.0], [0.0]] epse = np.bmat([[eps], [e]]) t_angle = [[0, ], [epse[2].tolist()[0][0], ]] 9
  • 10. t_omega = [[0, ], [epse[0].tolist()[0][0] / 10.0, ]] t_angle2 = [[0, ], [epse[3].tolist()[0][0], ]] t_omega2 = [[0, ], [epse[1].tolist()[0][0], ]] for t in range(1, 300): epse_di = np.dot(Tetta, epse) epse += epse_di / 100.0 t_angle[1].append(epse[2].tolist()[0][0]) t_angle[0].append(t / 100.0) t_omega[1].append(epse[0].tolist()[0][0] / 10.0) t_omega[0].append(t / 100.0) t_angle2[1].append(epse[3].tolist()[0][0]) t_angle2[0].append(t / 100.0) t_omega2[1].append(epse[1].tolist()[0][0]) t_omega2[0].append(t / 100.0) import matplotlib.pyplot as plt plt.plot(t_angle[0], t_angle[1], 'b') plt.plot(t_omega[0], t_omega[1], 'r') # plt.plot(t_angle2[0], t_angle2[1], 'g') # plt.plot(t_omega2[0], t_omega2[1], 'y') plt.saveg('stab_angle.png') 7 Ïðèëîæåíèå 2. Êîä ìîäóëÿ ïðîãðàììû íà ÿçûêå Matlab Ïðèâåä¼í êîä ðåøåíèÿ òîëüêî âòîðîãî íåðàâåíñòâà, îñòàëüíîå ïðîäåëàíî â Python: A = [0 0 11.445 0;0 0 -11.445 0;1 0 0 0;0 1 0 0]; B = [-0.0833333;1.08333333;0.01;0.01]; C1 = [0 0 0 1]; C2 = [0 1 0 0]; setlmis([]); szA = size(A); szC = size(C1); n = szA(1); if min(szA) == max(szA) length(szA) == 2 q = lmivar(1,[n 1]); y1 = lmivar(2,szC); y2 = lmivar(2,szC); lmi1 = newlmi; 10
  • 11. lmiterm([-lmi1 1 1 q],1,1); % 0Q lmi2 = newlmi; lmiterm([lmi2 1 1 q],1,A,'s'); % QA + A'Q lmiterm([lmi2 1 1 y1],C1',1,'s'); % C1'Y1' + Y1C1 lmiterm([lmi2 1 1 y2],C2',1,'s'); % C2'Y2' + Y2C2 lmisys = getlmis; [tmin,xfeas] = feasp(lmisys); if tmin0 Q = dec2mat(lmisys,xfeas,q); Y1 = dec2mat(lmisys,xfeas,y1); Y2 = dec2mat(lmisys,xfeas,y2); P = inv(Q); K1 = P*Y1' K2 = P*Y2' else K1 = []; K2 = []; P = []; end else error('Ìàòðèöà A íå ÿâëÿåòñÿ êâàäðàòíîé!') end 11