Modern Control Matlab_Dr. Khaki Seddigh
- 1. 1
ﺗﻌﺎﻟﯽ ﺑﺎﺳﻤﻪ
اﻓﺰار ﻧﺮم ﮐﺎرﺑﺮد ﺑﻪ ﻧﮕﺎﻫﯽMatlab
در
ﻣﺪرن ﮐﻨﺘﺮل
)ﮐﺘﺎب ﺿﻤﯿﻤﮥ”ﻣﺪرن ﮐﻨﺘﺮل اﺻﻮل“ﺻﺪﯾﻖ ﺧﺎﮐﯽ ﻋﻠﯽ دﮐﺘﺮ ﺗﺄﻟﯿﻒ(
ﮐﻨﻨﺪه ﺗﻬﯿﻪ:اﻣﺎﻧﯽ ﻣﺮادی ﻋﻠﯽ
- 3. 3
ﻓﻬﺮﺳﺖ
1-ﻣﻘﺪﻣﻪ
2-ﺑﺮرﺳﯽاﻓﺰار ﻧﺮم دﺳﺘﻮرﻫﺎیMatlabﻣﺮﺗﺒﻂﻣﺪرن ﮐﻨﺘﺮل ﺑﺤﺚ ﺑﺎ
2-1-دﺳﺘﻮرacker
2-2-دﺳﺘﻮرcanon
2-3-دﺳﺘﻮرcare
2-4-دﺳﺘﻮرcdf2rdf
2-5-دﺳﺘﻮرctrb
2-6-دﺳﺘﻮرCtrbf
2-7-دﺳﺘﻮرdiag
2-8-دﺳﺘﻮرeig
2-9-دﺳﺘﻮرestim
2-10-دﺳﺘﻮرexam
2-11-دﺳﺘﻮرGram
2-12-دﺳﺘﻮرinitial
2-13-دﺳﺘﻮرkalman
2-14-دﺳﺘﻮرLyap
2-15-دﺳﺘﻮرnull
2-16-دﺳﺘﻮرobsv
2-17-دﺳﺘﻮرobsvf
2-18-دﺳﺘﻮرplace
2-19-دﺳﺘﻮرss
2-20-دﺳﺘﻮرssdata
2-21-دﺳﺘﻮرss2ss
2-22-دﺳﺘﻮرss2tf
2-23-دﺳﺘﻮرtf2ss
3-ﮐ ﻣﺘﻦ ﻣﺜﺎﻟﻬﺎی ﺑﻪ ﻣﺮﺑﻮط ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﺑﺮرﺳﯽﺘﺎب
3-1-رﺳﻢﭘﺎﺳﺨﻬﺎیﻏﯿﺮﺧﻄﯽ ﺳﯿﺴﺘﻢ)ﻣﺜﺎل5-3(
3-2-دﺳﺘﻮر ﺑﺎ ﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ ﻃﺮاﺣﯽacker)ﻣﺜﺎل6-8(
3-3-اﻧﺘﮕﺮال ﮐﻨﺘﺮل ﺑﺎ ﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ)ﻣﺜﺎل6-9(
3-4-ﺳﯿﺴﺘﻢ دﯾﻨﺎﻣﯿﮑﯽ رﻓﺘﺎر ﺑﺮ ﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ ﺗﻐﯿﯿﺮ اﺛﺮ)ﻣﺜﺎل6-10(
3-5-رؤﯾﺘﮕﺮﺣﺎﻟﺖ ﻃﺮاﺣﯽ)ﻣﺜﺎل7-1(
3-6-رؤﯾﺘﮕﺮﯾﺎﻓﺘﻪ ﮐﺎﻫﺶ ﻣﺮﺗﺒﻪ)ﻣﺜﺎل7-2(
3-7-رؤﯾﺘﮕﺮ ﺑﺎ ﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ ﮐﻨﺘﺮل)ﻣﺜﺎل7-3(
- 4. 4
3-8-ﯾﺎﻓﺘﻪ ﮐﺎﻫﺶ ﻣﺮﺗﺒﻪ رؤﯾﺘﮕﺮ ﺑﺎ ﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ ﮐﻨﺘﺮل)ﻣﺜﺎل7-4(
3-9-ﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ ﺻﻮرت ﺑﻪ ﺑﻬﯿﻨﻪ ﮐﻨﻨﺪۀ ﮐﻨﺘﺮل ﻃﺮاﺣﯽ)ﻣﺜﺎل8-1(
3-10-ﺗﻐﯿﯿﺮات ﺣﺴﺎب و ﺑﻬﯿﻨﻪ ﮐﻨﺘﺮل)ﻣﺜﺎل8-2(
3-11-ﮐﻨﺘﺮلﭘﺎﯾﺪاری درﺟﮥ و ﺑﻬﯿﻨﻪ)ﻣﺜﺎل8-3(
3-12-ﮐﺎﻟﻤﻦ ﻓﯿﻠﺘﺮ)ﻣﺜﺎل8-4(
3-13-ﮐﺎﻟﻤﻦ ﻓﯿﻠﺘﺮ ﺑﺎ ﺧﺮوﺟﯽ ﻓﯿﺪﺑﮏ ﮐﻨﻨﺪۀ ﮐﻨﺘﺮل)ﻣﺜﺎل8-5(
- 8. 8
2-1-دﺳﺘﻮرacker:
•ﻫﺪف:ورودی ﺗﮏ ﺳﯿﺴﺘﻤﻬﺎی ﺑﺮای ﻗﻄﺐ ﺟﺎﯾﺎب ﻃﺮاﺣﯽ
•دﺳﺘﻮراﻟﻌﻤﻞ ﻧﮕﺎرش:
K=acker(A,B,P)
•ﺗﻮﺿﯿﺤﺎت:
اﺳﺖ ﻣﻔﺮوض زﯾﺮ ورودی ﺗﮏ ﺳﯿﺴﺘﻢ:
BuAxx +=
•
ﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ ﺑﺮدار ﺧﻮاﻫﯿﻢ ﻣﯽKﺷﺪه ﺗﻌﯿﯿﻦ ﻣﺤﻠﻬﺎی در ﺑﺴﺘﻪ ﺣﻠﻘﻪ ﺳﯿﺴﺘﻢ ﻗﻄﺒﻬﺎی ﮐﻪ ﮐﻨﯿﻢ ﻃﺮاﺣﯽ ﭼﻨﺎن راﺑﺮدار درP
ﮔﯿﺮﻧﺪ ﻗﺮار.دﺳﺘﻮرK=acker(A,B,P)ﻓﯿﺪﺑﮏ ﺑﻬﺮه ﺑﺮدار آﮐﺮﻣﻦ ﻓﺮﻣﻮل از اﺳﺘﻔﺎده ﺑﺎ(K)ﮐﻪ ﮐﻨﺪ ﻣﯽ ﻣﺸﺨﺺ ﭼﻨﺎن را
ﻓﯿﺪﺑﮏ ﻗﺎﻧﻮنu = -Kx،ﺑﺮدار در ﺷﺪه ﺗﻌﯿﯿﻦ ﻣﺤﻠﻬﺎی در را ﺑﺴﺘﻪ ﺣﻠﻘﻪ ﺳﯿﺴﺘﻢ ﻗﻄﺒﻬﺎیPدﻫﺪ ﻗﺮار.ﻣﻘﺎدﯾﺮ دﯾﮕﺮ ﻋﺒﺎرت ﺑﻪ
ﻣﺎﺗﺮﯾﺲ وﯾﮋهA-BKاﻋﻀﺎ ﻣﺤﻞ درﺑﺮدار یPﮔﯿﺮﻧﺪ ﻣﯽ ﻗﺮار.،ﻧﻤﻮﻧﻪ ﻋﻨﻮان ﺑﻪﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ ﻃﺮاﺣﯽ ﺑﺎ زﯾﺮ ﺑﺮﻧﺎﻣﻪ ﺗﮑﻪ درK،
ﻧﺎﭘﺎﯾﺪار ﺳﯿﺴﺘﻢ ﻗﻄﺒﻬﺎیﺑﻪP=[-2,-3]ﻣﻨﺘﺷﻮﻧﺪ ﻣﯽ ﻘﻞ.
A=[2,0,-1,-1]
B=[1;1]
P=[-2,-3 ]
K=acker(A,B,P)
ﻣﯿ ﺑﺎﺷﺪ ﺧﺮوﺟﯽ ﺗﮏ ﺳﯿﺴﺘﻢ ﭼﻨﺎﻧﭽﻪ اﯾﻦ ﺑﺮ ﻋﻼوهدﺳﺘﻮر از ﺘﻮانackerروﯾﺘﮕﺮ ﺑﻬﺮه ﻣﺤﺎﺳﺒﻪ ﺑﺮایﻟﯿﻮﻧﺒﺮﮔﺮاﺳﺘﻔﺎده ﻧﯿﺰ
ﮐﺮد.اﮔﺮy=Cxﺑﺎﺷﺪ ﺳﯿﺴﺘﻢ ﺧﺮوﺟﯽ ﻣﻌﺎدﻟﻪ،ﺑﺮدار زﯾﺮ دﺳﺘﻮرLﮐﺮد ﺧﻮاﻫﺪ ﻣﺤﺎﺳﺒﻪ روﯾﺘﮕﺮ ﺑﻬﺮه ﻋﻨﻮان ﺑﻪ را:
L = (acker(A’,C’,P))’
ﻣﺤﻠﻬﺎی در روﯾﺘﮕﺮ ﻗﻄﺒﻬﺎی وﺑﺮدار ﺗﻮﺳﻂ ﺷﺪه ﻣﺸﺨﺺPﮔﯿﺮﻧﺪ ﻣﯽ ﻗﺮار.
•ﻣﺤﺪودﯾﺘﻬﺎ:
1.دﺳﺘﻮرackerاﺳﺖ اﺳﺘﻔﺎده ﻗﺎﺑﻞ ورودی ﺗﮏ ﺳﯿﺴﺘﻤﻬﺎی در ﻓﻘﻂ.
2.(A,B)ﺑﺎﺷﺪ ﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺑﺎﯾﺪ.
3.اﯾﻦاز ﺑﯿﺶ ﺳﯿﺴﺘﻢ درﺟﻪ ﭼﻨﺎﻧﭽﻪ و ﻧﯿﺴﺖ ﺑﺮﺧﻮردار ﺑﺎﻻﯾﯽ اﻃﻤﯿﻨﺎن ﻗﺎﺑﻠﯿﺖ از روش5ﺳﯿﺴﺘﻢ ﭘﺬﯾﺮی ﮐﻨﺘﺮل ﯾﺎ ﺑﻮده
ا دﭼﺎر ﺑﺎﺷﺪ ﺿﻌﯿﻒﺷﺪ ﺧﻮاﻫﺪ ﺷﮑﺎل.
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرات:
دﺳﺘﻮرplaceدﻫﺪ ﻣﯽ اﻧﺠﺎم ورودی ﭼﻨﺪ ﺳﯿﺴﺘﻤﻬﺎی در را ﻗﻄﺐ ﺟﺎﯾﺎﺑﯽ ﻋﻤﻞ.
2-2-دﺳﺘﻮرcanon:
•ﻫﺪف:ﺣﺎﻟﺖ ﻓﻀﺎی در ﮐﺎﻧﻮﻧﯿﮑﺎل ﻫﺎی ﺗﺤﻘﻖ ﻣﺤﺎﺳﺒﻪ
•دﺳﺘﻮراﻟﻌﻤﻞ ﻧﮕﺎرش:
CSYS= canon(SYS,’TYPE’)
[CSYS,T]= canon(SYS,’TYPE’)
•ﺗﻮﺿﯿﺤﺎت:ﺳﯿﺴﺘﻢ ﺑﺮای ﺣﺎﻟﺖ ﻓﻀﺎی در ﮐﺎﻧﻮﻧﯿﮑﺎل ﺗﺤﻘﻖ ﯾﮏ ،دﺳﺘﻮر اﯾﻦLTIﺑﺎ ﮐﻪ زﻣﺎن ﮔﺴﺴﺘﻪ ﯾﺎ ﭘﯿﻮﺳﺘﻪSYS
دﻫﺪ ﻣﯽ اراﺋﻪ اﺳﺖ ﺷﺪه ﻣﺸﺨﺺ.اﺳﺖ ﺷﺪه ﮔﺮﻓﺘﻪ ﻧﻈﺮ در دﺳﺘﻮراﻟﻌﻤﻞ اﯾﻦ در ﮐﺎﻧﻮﻧﯿﮑﺎل ﺗﺤﻘﻖ ﻧﻮع دوﻣﺘﻐﯿﺮ ﺗﻮﺳﻂ ﮐﻪ
TYPEﻣﯽ اﻧﺘﺨﺎبﮔﺮدد.
- 9. 9
اﻟﻒ-ﻓﺮمMODAL:
دﺳﺘﻮرCSYS= canon(SYS,’modal’)ﺗﺤﻘﻖ ﯾﮏMODALﺳﯿﺴﺘﻢ ازSYSدر و آورده ﺑﺪﺳﺖ راCSYS
ﻣﯽرﯾﺰد.،ﺗﺤﻘﻖ اﯾﻦ درﺣﻘﯿﻘﯽ وﯾﮋه ﻣﻘﺎدﯾﺮSYSﻣﺎﺗﺮﯾﺲ ﻗﻄﺮﻫﺎی رویAﻣﯽ ﻗﺮارﻫﺮ ازاء ﺑﻪ و ﮔﯿﺮﻧﺪزوجﯾﮏ ﻣﻮﻫﻮﻣﯽ ﻗﻄﺐ
ﺑﻠﻮک2×2ﻣﺎﺗﺮﯾﺲ درAﻣﯽ ﻇﺎﻫﺮﺷﻮد.ﺳﯿﺴ ﺑﺮای ﻣﺜﺎل ﻋﻨﻮان ﺑﻪوﯾﮋه ﻣﻘﺎدﯾﺮ ﺑﺎ ﺘﻤﯽ),,( 21 λωσλ j±،ﻣﺎﺗﺮﯾﺲAدر
ﻓﺮم ﺗﺤﻘﻖMODALﺑﻮد ﺧﻮاﻫﺪ زﯾﺮ ﺻﻮرت ﺑﻪ:
−
2
1
000
00
00
000
λ
σω
ωσ
λ
ب-ﻓﺮمCOMPANION:
دﺳﺘﻮرCSYS = canon(SYS,’companion’)ﺗﺤﻘﻖ ﯾﮏCOMPANIONازSYSدﻫﺪ ﻣﯽ اراﺋﻪﺿﺮاﯾﺐ آن در ﮐﻪ
رو ﺳﯿﺴﺘﻢ ﻣﺸﺨﺼﻪ ﻣﻌﺎدﻟﻪﻣﺎﺗﺮﯾﺲ راﺳﺖ ﺳﻤﺖ اﻟﯿﻪ ﻣﻨﺘﻬﯽ ﺳﺘﻮن یAﻗﺮارﮔﯿﺮد ﻣﯽ.ﺻﻮرت ﺑﻪ ﺳﯿﺴﺘﻢ ﻣﺸﺨﺼﻪ ﻣﻌﺎدﻟﻪ اﮔﺮ
ﺑﺎﺷﺪ زﯾﺮ:
nn
nn
asasassP ++++= −
−
1
1
1 ...)(
ﻣﺎﺗﺮﯾﺲ آﻧﮕﺎهAﺗﺤﻘﻖ درCOMPANIONﺑﻮد ﺧﻮاﻫﺪ زﯾﺮ ﺻﻮرت ﺑﻪ:
−
−
−
−
=
−
1
2
1
10000
01000
0001
0000
a
a
a
a
A
n
n
MMMMMM
K
K
اﮔﺮSYSدﺳﺘﻮ آﻧﮕﺎه ﺑﺎﺷﺪ داﺷﺘﻪ وﺟﻮد ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل ﺻﻮرت ﺑﻪر[CSYS,T]=canon(SYS,’TYPE’)ﻣﺎﺗﺮﯾﺲ
ﺗﺒﺪﯾﻞTدﻫﺪ ﻣﯽ اراﺋﻪ ﻧﯿﺰ ﺷﻮﻧﺪ ﻣﯽ ﻣﺮﺗﺒﻂ ﮐﺎﻧﻮﻧﯿﮑﺎل ﺳﯿﺴﺘﻢ ﺣﺎﻟﺘﻬﺎی ﺑﻪ اﺻﻠﯽ ﺳﯿﺴﺘﻢ ﺣﺎﻟﺘﻬﺎی آن ﺗﻮﺳﻂ ﮐﻪ را:xTxc .=
ﺳﯿﺴﺘﻢ ﭼﻨﺎﻧﭽﻪSYS، ﻧﺒﺎﺷﺪ ﺣﺎﻟﺖ ﻓﻀﺎی ﻓﺮم ﺑﻪﻣﺎﺗﺮﯾﺲTﺑﻮد ﺧﻮاﻫﺪ ﺗﻬﯽ.
در ﻋﻤﻠﯿﺎت اﻧﺠﺎم روﻧﺪﺳﯿﺴﺘﻢ ﭼﻨﺎﻧﭽﻪ اﺑﺘﺪا ﮐﻪ اﺳﺖ ﺻﻮرت اﯾﻦ ﺑﻪ دﺳﺘﻮر اﯾﻦSYSداده ﺻﻔﺮ و ﻗﻄﺐ ﯾﺎ ﺗﺒﺪﯾﻞ ﺣﺎﻟﺖ ﻓﺮم ﺑﻪ
دﺳﺘﻮر از اﺳﺘﻔﺎده ﺑﺎ ﺑﺎﺷﺪ ﺷﺪهSSآﯾﺪ ﻣﯽ ﺑﺪﺳﺖ آن ﺣﺎﻟﺖ ﻓﻀﺎی ﻓﺮم.ﺗﺤﻘﻖ درMODALﻣﺎﺗﺮﯾﺲPﺑﺮدارﻫﺎی ﻣﺠﻤﻮﻋﻪ ﮐﻪ
ﻣﺎﺗﺮﯾﺲ وﯾﮋهAﺗﺸ ﺗﺒﺪﯾﻞ زﯾﺮ ﻣﻌﺎدﻻت ﺑﺎ ﺳﭙﺲ و ﺷﻮد ﻣﯽ ﻣﺤﺎﺳﺒﻪ اﺳﺖﺎﺑﻬﯽT=P-1
ﮐﺎﻧﻮﻧﯿﮑﺎل ﻓﺮم و ﺷﺪه اﻋﻤﺎل ﺳﯿﺴﺘﻢ ﺑﻪ
آﯾﺪ ﻣﯽ ﺑﺪﺳﺖ:
DuCPxy
BuPAPxPx cc
+=
+= −−
•
11
ﺣﺎﻟﺖ ﺗﺒﺪﯾﻞ ﻣﺎﺗﺮﯾﺲ ﺗﺮﺗﯿﺐ اﯾﻦ ﺑﻪTﻫﻤﺎن اﺳﺖ دﺳﺘﻮراﻟﻌﻤﻞ اﺟﺮای ﻧﺘﺎﯾﺞ از ﮐﻪP-1
ﺑﻮد ﺧﻮاﻫﺪ.ﻓﺮم ﺗﺤﻘﻖCOMPANION
آ ﻣﯽ ﺑﺪﺳﺖ ﭘﺬﯾﺮی ﮐﻨﺘﺮل ﻣﺎﺗﺮﯾﺲ روی از ﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞ از اﺳﺘﻔﺎده ﺑﺎ ﻧﯿﺰﯾﺪ.
•ﻣﺜﺎل:زﯾﺮ ﺳﯿﺴﺘﻢاﺳﺖ ﻣﻔﺮوض:
[ ]xy
uxx
001
1
1
1
25.03
651
021
=
+
−=
•
ﻣﺎﺗﺮﯾﺲ وﯾﮋه ﻣﻘﺎدﯾﺮAاز ﻋﺒﺎرﺗﻨﺪ:
- 10. 10
6571.6
571.26715.0
3
2,1
=
±=
λ
λ j
ﮐﺎﻧﻮﻧﯿﮑﺎل ﺗﺤﻘﻖ آوردن ﺑﺪﺳﺖ ﺑﺮایMODALﺑﺮﻧﺎﻣ ﺗﮑﻪ ﺳﯿﺴﺘﻢﮥدارﯾﻢ را زﯾﺮ:
A=[1 2 0;-1 5 6;3 0.5 2];
B=[1;1;1];
C=[1 0 0];
D=0;
SYS=ss(A,B,C,D);
[CSYS,T]=canon(SYS,’modal’);
[Ac,Bc,Cc,Dc]=ssdata(SYS);
آن در ﮐﻪDc , Cc , Bc , Acو ﮐﺎﻧﻮﻧﯿﮑﺎل ﺗﺘﺤﻘﻖ ﺑﻪ ﻣﺮﺑﻮط ﻣﺎﺗﺮﯾﺴﻬﺎیTاﺳﺖ ﻣﺮﺑﻮﻃﻪ ﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞ.ﺑﻪ ﮐﺎﻧﻮﻧﯿﮑﺎل ﺗﺤﻘﻖ
ﺑﻮد ﺧﻮاﻫﺪ زﯾﺮ ﺻﻮرت:
[ ] ccc
cccc
xuDxCy
uxuBxAx
3178.02081.0473.0
93.1
2267.1
2776.0
6571.600
06715.0571.2
0571.26715.0
−=+=
−+
−=+=
•
•ﻣﺤﺪودﯾﺘﻬﺎ:
1.ﻣﯽ ﺻﺤﯿﺢ ﭘﺎﺳﺦ زﻣﺎﻧﯽ دﺳﺘﻮر اﯾﻦﮐ دﻫﺪﻣﺎﺗﺮﯾﺲ ﻪAﺑﺎﺷﺪ ﻧﺪاﺷﺘﻪ ﺗﮑﺮاری وﯾﮋه ﻣﻘﺪار.
2.ﺗﺤﻘﻖ درCOMPANIONﺑﺎﺷﺪ ﭘﺬﯾﺮ ﮐﻨﺘﺮل ورودی اوﻟﯿﻦ از ﺑﺎﯾﺪ ﺳﯿﺴﺘﻢ.
3.The companion form is often poorly conditioned for most state-space
computation avoid using it when possible.
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرات:
دﺳﺘﻮرss2ssاﻧﺠﺎم ﺑﺮایﻣﯽ ﮐﺎر ﺑﻪ ﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞرود.
2-3-دﺳﺘﻮرcare:
•ﻫﺪف:زﻣﺎن ﺟﺒﺮی رﯾﮑﺎﺗﯽ ﻣﻌﺎدﻟﮥ ﺣﻞ-ﭘﯿﻮﺳﺘﻪ
•ﻧﮕﺎرش:
[X,L,G,rr]=care(A,B,Q)
[X,L,G,rr]=care(A,B,Q,R,S,E)
[X,L,G,report]=care(A,B,Q,…,’report’)
[X1,X2,L,report]=care(A,B,Q,…,’implicit’)
•ﺗﻮﺿﯿﺤﺎت:
دﺳﺘﻮر[X,L,G,rr]=care(A,B,Q)ﻣﯽ ﻣﺤﺎﺳﺒﻪ را زﯾﺮ رﯾﮑﺎﺗﯽ ﻣﻌﺎدﻟﮥ ﻣﻨﺤﺼﺮﺑﻔﺮد ﭘﺎﺳﺦﮐﻨﺪ:
0)( =+−+= QXXBBXAXAXRic TT
ﻣﺎﺗﺮﯾﺲ وﯾﮋۀ ﻣﻘﺎذﯾﺮ ﻫﻤﮥ ﮐﻪ ﻧﺤﻮی ﺑﻪA-BBT
Xﮔﯿﺮﻧﺪ ﻗﺮار ﻣﻮﻫﻮﻣﯽ ﻣﺤﻮر ﭼﭗ ﺳﻤﺖ.ﻣﺎﺗﺮﯾﺲXﻣﺘﻘﺎرن1
ﭘﺎﺳﺦ و اﺳﺖ
ﭘﺎﯾﺪارﺳﺎز2
ﻣﻌﺎدﻟﮥRic(X)=0ﻣﯽ ﻧﺎﻣﯿﺪهﺷﻮد.را زﯾﺮ ﻣﻮارد دﺳﺘﻮر اﯾﻦﻣﯽ ﻧﺘﯿﺠﻪ ﻧﯿﺰدﻫﺪ:
1-ﺑﺮدارLﻣﺎﺗﺮﯾﺲ وﯾﮋۀ ﻣﻘﺎدﯾﺮ ﺷﺎﻣﻞ ﮐﻪA-BBT
Xاﺳﺖ.
2-ﺑﻬﺮۀ ﻣﺎﺗﺮﯾﺲG=BT
X
1
Symmetric
2
Stabilizing
- 11. 11
3-ﻧﺴﺒﯽ ﻣﺎﻧﺪۀ3
ﻣﯽ ﻣﺤﺎﺳﺒﻪ زﯾﺮ ﺻﻮرت ﺑﻪ ﮐﻪﺷﻮد:
F
F
X
XRic
rr
)(
=
دﺳﺘﻮر[X,L,G,rr]=care(A,B,Q,R,S,E)ﻋﻤﻮﻣﯽ رﯾﮑﺎﺗﯽ ﻣﻌﺎدﻟﮥﻣﯽ ﺣﻞ را ﺗﺮیﮐﻨﺪ:
0)()()( 1
=+++−+= −
QSXEBRSXBEXAEXEAXRic TTTTT
ﺑ ﻣﺎﺗﺮﯾﺲاﯾﻨﺤﺎﻟﺖ در ﻬﺮه)(1 TT
SXEBRG += −
ﺑﺮدار در ﺑﺴﺘﻪ ﺣﻠﻘﻪ وﯾﮋۀ ﻣﻘﺎدﯾﺮ ﻧﯿﺰ و ﺑﻮده
),*( EGBAeigL −=ﻣﯽ ﻗﺮارﮔﯿﺮﻧﺪ.
دﺳﺘﻮر دﯾﮕﺮ ﻧﮕﺎرش دوcareﮐﻨﻨﺪۀ ﮐﻨﺘﺮل ﻃﺮاﺣﯽ ﻧﻈﯿﺮ ﻣﺨﺘﻠﻒ ﮐﺎرﺑﺮدﻫﺎی در آن از اﺳﺘﻔﺎده ﺑﻪ ﮐﻤﮏ ﺑﺮایH∞ﮔﺮﻓﺘﻪ ﻧﻈﺮ در
ﺷﺪهاﻧﺪ4
.
ﻣﺜﺎل:ﻓﺮض ﺑﺎ
[ ] 3,11,
1
0
,
11
23
=−=
=
−
= rCBA
رﯾﮑﺎﺗﯽ ﻣﻌﺎدﻟﮥ
01
=+−+ −
CCXBXBRXAXA TTT
اﺳﺖ ﺣﻞ ﻗﺎﺑﻞ زﯾﺮ ﺑﺮﻧﺎﻣﮥ از اﺳﺘﻔﺎده ﺑﺎ:
A=[-3 2;1 1];
B=[0;1]
C=[1 –1];
R=3;
[X,L,g]=care(A,B,C’*C,r);
ﻣﯽ ﻧﺘﯿﺠﻪ زﯾﺮ ﻓﺮم ﺑﻪ را رﯾﮑﺎﺗﯽ ﻣﻌﺎدﻟﮥ ﭘﺎﺳﺦ ﺑﺮﻧﺎﻣﻪ اﯾﻦدﻫﺪ:
X=
0.5895 1.8216
1.8216 8.8188
ﻣﺎﺗﺮﯾﺲ وﯾﮋۀ ﻣﻘﺎدﯾﺮ ﻣﻘﺎﯾﺴﮥAﻣﺎﺗﺮﯾﺲ ﺑﺎA-B*gﻣﯽ ﻧﺸﺎناﺳﺖ ﭘﺎﯾﺪارﺳﺎز ﭘﺎﺳﺦ اﯾﻦ ﮐﻪ دﻫﺪ:
» [eig(A) eig(A-B*g)]
ans=
-3.4495 -3.5026
1.4495 -1.4370
•آﻟﮕﻮرﯾﺘﻢ:
دﺳﺘﻮرcareﺗﻮﺳﻌﻪ ﻫﺎﻣﯿﻠﺘﻮﻧﯿﻦ ،ﻫﺎﻣﯿﻠﺘﻮﻧﯿﻦ ﻣﺎﺗﺮﯾﺲ ازآﻟﮕﻮرﯾﺘﻢ ﯾﺎ ﯾﺎﻓﺘﻪQZﺑﺮایاﺳﺘﻔﺎده رﯾﮑﺎﺗﯽ ﻣﻌﺎدﻟﮥ ﺣﻞ
ﻣﯽﮐﻨﺪ5
.
•ﻣﺤﺪودﯾﺘﻬﺎ:
زوج(A,B)ﭘﺎﯾﺪاری ﺑﺎﯾﺪﺑﺎﺷﺪ ﭘﺬﯾﺮ.وﯾﮋه ﻣﻘﺪار ﻫﯿﭻ ﻫﺎﻣﯿﻠﺘﻮﻧﯿﻦ ﻣﺎﺗﺮﯾﺲ ،ﺑﻌﻼوهﺑﺎﺷﺪ ﻧﺪاﺷﺘﻪ ﻣﻮﻫﻮﻣﯽ ﻣﺤﻮر روی ای.اﯾﻦ ﺑﺮای
ﮐﺎﻓﯿﺴﺖ زﯾﺮ ﺷﺮاﯾﻂ از ﯾﮑﯽ ﺗﺤﻘﻖ ﻣﻨﻈﻮر:
1-زوج(Q,A)آﺷﮑﺎریﮐﻪ ﺣﺎﻟﺘﯽ در ﺑﺎﺷﺪ ﭘﺬﯾﺮ:S=0 , R>0
2-0>
RS
SQ
T
3
Relative residual
4
ﺑﻪ ﻣﻮرد اﯾﻦ در ﮐﺎﻣﻠﺘﺮ ﺗﻮﺿﯿﺤﺎت ﺑﺮایhelpﻧﺮماﻓﺰارMatlabﺷﻮد ﻣﺮاﺟﻌﻪ.
٥ﺷﺪه ﻣﻌﺮﻓﯽ زﯾﺮ ﻣﺮﺟﻊ در آﻟﮕﻮرﯾﺘﻤﻬﺎ اﯾﻦاﻧﺪ:
Arnold, W.F., Ш and A.J. Laub, “Generalized Eigenproblem Algorithms and Software for Algebraic Riccati Equation”, Proc.
IEEE, 72(1984), pp. 1746-1754
- 12. 12
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرﻫﺎی:
dare:زﻣﺎن رﯾﮑﺎﺗﯽ ﻣﻌﺎدﻻت ﺣﻞ-ﮔﺴﺴﺘﻪ
lyap:زﻣﺎن ﻟﯿﺎﭘﺎﻧﻮف ﻣﻌﺎدﻻت ﺣﻞ-ﭘﯿﻮﺳﺘﻪ
2-4-دﺳﺘﻮرcdf2rdf:
•ﻫﺪف:ﺑﺎ ﻗﻄﺮی ﻣﺎﺗﺮﯾﺲ ﺑﻪ ﻣﺨﺘﻠﻂ ﻋﻨﺎﺻﺮ ﺑﺎ ﻗﻄﺮی ﻣﺎﺗﺮﯾﺲ ﺗﺒﺪﯾﻞﺣﻘﯿﻘﯽ ﺑﻠﻮﮐﻬﺎی.
•دﺳﺘﻮراﻟﻌﻤﻞ ﻧﮕﺎرش:[V,D]=cdf2rdf(V,D)
•ﺗﻮﺿﯿﺤﺎت:
ﭼﻨﺎﻧﭽﻣﺎﺗﺮﯾﺲ وﯾﮋه ﻣﻘﺎدﯾﺮ ﻪXﻣﺎﺗﺮﯾﺴﻬﺎی ،ﺑﺎﺷﻨﺪ ﻣﻮﻫﻮﻣﯽVوDدﺳﺘﻮر اﺟﺮای از ﮐﻪ[V,D]=eig(X)ﻣﯽ ﺑﺪﺳﺖآﯾﻨﺪ
ﺑﻮد ﺧﻮاﻫﻨﺪ ﻣﻮﻫﻮﻣﯽ ﻋﻨﺎﺻﺮ دارای.دﺳﺘﻮرcdf2rdfﻣﻮﻫﻮﻣﯽ ﻋﻨﺎﺻﺮ ﺑﺎ ﻗﻄﺮی ﻣﺎﺗﺮﯾﺲDﻗﻄﺮی ﻣﺎﺗﺮﯾﺲ ﯾﮏ ﺑﻪ را–ﺑﻠﻮﮐﯽ
ﮐﻨﺪ ﻣﯽ ﺗﺒﺪﯾﻞ ﺣﻘﯿﻘﯽ ﺑﻠﻮﮐﻬﺎی ﺑﺎ.وﯾﮋ ﻣﻘﺎدﯾﺮ از زوج ﻫﺮﺑﺨﺶ در آﻧﭽﻪ ﻃﺒﻖ ﻣﻮﻫﻮﻣﯽ ه2-6-3ﺑﻠﻮک ﯾﮏ ﺑﺎ ﺷﺪ ﮔﻔﺘﻪ2×2
ﻣﺘﻨﺎﻇﺮ ﺣﻘﯿﻘﯽﺷﺪ ﺧﻮاﻫﺪ.ﻣﺎﺗﺮﯾﺲ ﺗﺒﺪﯾﻞ اﯾﻦ در اﻟﺒﺘﻪVدﯾﮕﺮ و ﮐﺮد ﺧﻮاﻫﺪ ﺗﻐﯿﯿﺮ ﺗﯿﺰVﺳﯿﺴﺘﻢ وﯾﮋه ﺑﺮدارﻫﺎی ﺷﺎﻣﻞ
ﺑﻮد ﻧﺨﻮاﻫﺪ؛ﺗﻐﯿﯿﺮات اﻣﺎVراﺑﻄﻪ ﮐﻤﺎﮐﺎن ﮐﻪ اﺳﺖ ﻧﺤﻮی ﺑﻪX*V=V*Dﺑﺎﺷﺪ ﺑﺮﻗﺮار.
•ﻣﺜﺎل:ﻣﺎﺗﺮﯾﺲXﮔﯿﺮﯾﻢ ﻣﯽ ﻧﻈﺮ در زﯾﺮ ﺻﻮرت ﺑﻪ را:
−
=
450
540
321
X
دارد ﻣﻮﻫﻮﻣﯽ وﯾﮋه ﻣﻘﺪار ﺟﻔﺖ ﯾﮏ ﮐﻪ:
»[V,D]=eig(X)
V =
1.0000 0.4002-0.0191i 0.4002+0.191i
0 0.6479 0.6479
0 0+0.6479i 0-0.6479i
D =
1 0 0
0 4+5i 0
0 0 4-5i
، ﺣﻘﯿﻘﯽ ﺑﻠﻮﮐﯽ ﻗﻄﺮی ﻓﺮم ﺑﻪ ﻧﻤﺎﯾﺶ اﯾﻦ ﺗﺒﺪﯾﻞﮐﺮد ﺧﻮاﻫﺪ ﺣﺎﺻﻞ را زﯾﺮ ﻧﺘﯿﺠﻪ:
»[V,D]=cdf2rdf(V,D)
V =
1 0.4002 -0.0191
0 0.6479 0
0 0 0.6479
D =
1 0 0
0 4 5
0 -5 4
2-5-دﺳﺘﻮرctrb:
•ﻫﺪف:ﭘﺬﯾﺮی ﮐﻨﺘﺮل ﻣﺎﺗﺮﯾﺲ ﻣﺤﺎﺳﺒﻪ
•دﺳﺘﻮراﻟﻌﻤﻞ ﻧﮕﺎرش:
Co=ctrb(A,B)
Co=ctrb(SYS)
Co=ctrb(SYS.a,SYS.b)
•ﺗﻮﺿﯿﺤﺎت:ﻓﺮم ﺑﻪ ﺳﯿﺴﺘﻢ ﺣﺎﻟﺖ ﻣﻌﺎدﻟﻪ ﭼﻨﺎﻧﭽﻪBuAxx +=
•
آن در ﮐﻪ ﺑﺎﺷﺪAnxnوBnxm،اﺳﺖﻣﺎﮐﻨﺘﺮل ﺗﺮﯾﺲ
ﺳﯿﺴﺘﻢ ﭘﺬﯾﺮی)دﺳﺘﻮر ﺑﺎ ﮐﻪctrbﺷﻮد ﻣﯽ ﻣﺤﺎﺳﺒﻪ(ﺑﻮد ﺧﻮاﻫﺪ زﯾﺮ ﺻﻮرت ﺑﻪ:
- 13. 13
[ ]BABAABBCo n 12 −
= L
ﻣﺎﺗﺮﯾﺲ رﺗﺒﻪ ﮐﻪ اﺳﺖ ﮐﺎﻣﻞ ﭘﺬﯾﺮ ﮐﻨﺘﺮل زﻣﺎﻧﯽ ﺳﯿﺴﺘﻢ ﮐﻪ اﺳﺖ واﺿﺢCoﺑﺎﺷﺪ ﮐﺎﻣﻞ.
•ﻣﺜﺎل:ﻣﺎﺗﺮﯾﺴﻬﺎیAوBﮔﯿﺮﯾﻢ ﻣﯽ ﻧﻈﺮ در زﯾﺮ ﺻﻮرت ﺑﻪ را:
−
−
=
−
=
11
11
,
24
11
BA
ﮐﻨﺘﺮل ﻣﺎﺗﺮﯾﺲ رﺗﺒﮥ زﯾﺮ ﺑﺮﻧﺎﻣﮥﻣﯽ ﻣﺤﺎﺳﺒﻪ را ﭘﺬﯾﺮیﮐﻨﺪ:
»A=[1 1;4 –2];
»B=[1 –1;1 –1];
»Co=ctrb(A,B)
Co=
1 -1 2 -2
1 -1 2 -2
»rank(Co)
ans=
1
رﺗﺒﻪ ﭼﻮنCoﻧﯿﺴﺖ ﮐﺎﻣﻞ،ﮐﺎﻣﻞ ﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺳﯿﺴﺘﻢ ﻟﺬاﻧﻤﯽﺑﺎﺷﺪ.ﮐ ﺣﺎﻟﺘﻬﺎی ﺗﻌﺪادﻨﺘﺮلﻧﺎزﯾﺮ ﺻﻮرت ﺑﻪ ﺳﯿﺴﺘﻢ ﭘﺬﯾﺮ
ﻣﯽ ﻣﺤﺎﺳﺒﻪﺷﻮد:
»unco=length(A)-rank(Co)
ans=
1
دارد ﻧﺎﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺣﺎﻟﺖ ﯾﮏ ﺳﯿﺴﺘﻢ ﻟﺬا و.
•ﻣﺤﺪودﯾﺘﻬﺎ:
ﻣﺤﺎﺳﺒﻪCoﭘﺎره درﺷﻮد ﻣﯽ ﺧﻄﺎ دﭼﺎر ﻣﻮارد ای.ﮐﻨﯿﻢ ﻣﯽ ﺑﺮرﺳﯽ ﺳﺎده ﻣﺜﺎل ﯾﮏ ﺑﺎ را ﻣﻮﺿﻮع اﯾﻦ:
=
=
δ
δ 1
,
10
1
BA
اﮔﺮδ≠0ﺑﻮد ﺧﻮاﻫﺪ ﭘﺬﯾﺮ ﮐﻨﺘﺮل زوج اﯾﻦ ﺑﺎﺷﺪ:
[ ]
+
==
δδ
δ 2
11
ABBCo
اﮔﺮ اﻣﺎeps<2
δآن در ﮐﻪ ﺑﺎﺷﺪepsراﯾﺎﻧﻪ آﻧﮕﺎه اﺳﺖ ﮐﺎﻣﭙﯿﻮﺗﺮ ﻣﺤﺎﺳﺒﺎت ﻧﺴﺒﯽ وﺿﻮح2
δو ﮔﺮﻓﺖ ﺧﻮاﻫﺪ ﻧﻈﺮ در ﺻﻔﺮ را
ﻧﺸﺎن ﻧﺎﭘﺬﯾﺮ ﮐﻨﺘﺮل را ﺳﯿﺴﺘﻢاﺳﺖ ﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺳﯿﺴﺘﻢ ﮐﻪ ﺣﺎﻟﯽ در داد ﺧﻮاﻫﺪ.دﺳﺘﻮر از اﺳﺖ ﺑﻬﺘﺮ ﺷﺮاﯾﻂ اﯾﻦ درctrbf
ﺷﻮد اﺳﺘﻔﺎده.
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرات:
obsv:ﭘﺬﯾﺮی روﯾﺖ ﻣﺎﺗﺮﯾﺲ ﻣﺤﺎﺳﺒﻪﺳﯿﺴﺘﻢ
ctrbf:ﺳﯿﺴﺘﻢ ﻧﺎﭘﺬﯾﺮ ﮐﻨﺘﺮل و ﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺣﺎﻟﺘﻬﺎی ﺟﺪاﺳﺎزی
2-6-دﺳﺘﻮرCtrbf:
•ﻫﺪف:ﮐﻨﺘﺮ ﭘﻠﮑﺎﻧﯽ ﻓﺮم ﺗﻬﯿﻪﭘﺬﯾﺮ ل)ﻧﺎﭘﺬﯾﺮ ﮐﻨﺘﺮل و ﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺣﺎﻟﺘﻬﺎی ﺟﺪاﺳﺎزی(
•دﺳﺘﻮراﻟﻌﻤﻞ ﻧﮕﺎرش:[Abar,Bbar,Cbar,T,K]=ctrbf(A,B,C)
[Abar,Bbar,Cbar,r,k]=ctrbf(A,B,C,tol)
- 14. 14
•ﺗﻮﺿﯿﺤﺎت:
ازوج ﭘﺬﯾﺮی ﮐﻨﺘﺮل ﻣﺎﺗﺮﯾﺲ رﺗﺒﻪ ﮔﺮ(A,B)از ﮐﻮﭼﮑﺘﺮn)nﻣﺮﺗﺒﻪAاﺳﺖ(ﺑﺎﺷﺪ،آﻧﮕﺎﻣﺎﻧﻨﺪ ﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞ ﯾﮏ هTوﺟﻮد
ﻣﯽ ﮐﻪ داردﮐﻨﺪ ﺟﺪا ﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺣﺎﻟﺘﻬﺎی از را ﺳﯿﺴﺘﻢ ﻧﺎﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺣﺎﻟﺘﻬﺎی ﺗﻮاﻧﺪ.ﺗﺒﺪﯾﻞ ﻣﺎﺗﺮﯾﺲunitary Tاﺳﺖ1
ودارﯾﻢ
:
TT
CTCTBBTATA === ,,
ﻣﺎﺗﺮﯾﺲ ﺗﺒﺪﯾﻞ اﯾﻦAﻣﯽ ﺗﺒﺪﯾﻞ ﭼﻨﺎن ﭘﻠﮑﺎﻧﯽ ﻣﺎﺗﺮﯾﺲ ﯾﮏ ﺑﻪ راﺣﺎﻟﺘﻬﺎ ﺑﻪ ﻣﺮﺑﻮط ﺑﺨﺶ ﮐﻪ ﮐﻨﺪﻧﺎﭘﺬﯾﺮ ﮐﻨﺘﺮل ی(Auc)در
ﻣﺎﺗﺮﯾﺲ ﺑﺎﻻی ﭼﭗ ﺳﻤﺖ ﮔﻮﺷﻪAﮔﯿﺮد ﻗﺮار:
[ ]cuc
cc
uc
CCC
B
B
AA
A
A =
=
= ,
0
,
0
21
ا درﯾﻨﺤﺎﻟﺖزوج(Ac,Bc)وﯾﮋه ﻣﻘﺎدﯾﺮ ﺗﻤﺎم ، ﺑﻮده ﭘﺬﯾﺮ ﮐﻨﺘﺮلAucداﺷﺖ ﺧﻮاﻫﯿﻢ و ﻫﺴﺘﻨﺪ ﻧﺎﭘﺬﯾﺮ ﮐﻨﺘﺮل:
BAsICBAsIC cc
11
)()( −−
−=−
ﺳ ﺗﺒﺪﯾﻞ ﺗﺎﺑﻊ ﺗﻌﯿﯿﻦ در ﻧﺎﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺣﺎﻟﺘﻬﺎی ﯾﻌﻨﯽﻧﺪارد اﺛﺮی ﯿﺴﺘﻢ.
دﺳﺘﻮر[Abar,Bbar,Cbar,T,K]=ctrbf(A,B,C)ﺑ ﺷﺪه داده ﻧﻤﺎﯾﺶ ﺣﺎﻟﺖ ﻓﻀﺎی ﺳﯿﺴﺘﻢﺎA،BوCرﺑﻪ ا
ﺑﺎ ﺳﯿﺴﺘﻤﯽCBA ,,ﮐﻨﺪ ﻣﯽ ﺗﺒﺪﯾﻞ اﻟﺬﮐﺮ ﻓﻮق.Tو ﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞ ﻣﺎﺗﺮﯾﺲKﻃﻮل ﺑﻪ ﺑﺮدار ﯾﮏnﮐﻪ اﺳﺖnﻣﺎﺗﺮﯾﺲ اﺑﻌﺎد
Aﺑﺎﺷﺪ ﻣﯽ.ﻋﻀﻮ ﻫﺮKﻧﺸﺎنﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺣﺎﻟﺖ ﭼﻨﺪ ﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞ ﻣﺎﺗﺮﯾﺲ ﻣﺤﺎﺳﺒﻪ ﺑﺮای ﺗﮑﺮار ﺑﺎر ﻫﺮ در ﮐﻪ دﻫﺪ ﻣﯽ
اﺳﺖ ﺷﺪه اﺳﺘﺨﺮاج.
ﺑﺮدار ﺻﻔﺮ ﻏﯿﺮ اﻋﻀﺎی ﺗﻌﺪاد ﺑﻨﺎﺑﺮاﯾﻦKﺗﺒﺪﯾﻞ ﻣﺎﺗﺮﯾﺲ ﻣﺤﺎﺳﺒﻪ ﺑﺮای دﻫﺪ ﻣﯽ ﻧﺸﺎنTاﺳﺖ ﻻزم ﺗﮑﺮار ﭼﻨﺪ.ﺑﻌﻼوه
2
SUM(K)ﺣﺎﻟﺘﻬﺎی ﺗﻌﺪادAcدﻫﺪ ﻣﯽ ﻧﺸﺎن را.
ﻋﻨﺼﺮtolدردﺳﺘﻮرctrbf(A,B,C,tol)ﻓﻀﺎﻫﺎی زﯾﺮ ﻣﺤﺎﺳﺒﻪ در ﻣﺠﺎز ﺗﻠﺮاﻧﺲ ﻣﻘﺪار
ﭘﺬﯾﺮ ﮐﻨﺘﺮل/ﻧﺎﭘﺬﯾﺮ ﮐﻨﺘﺮلرادﻫﺪ ﻣﯽ ﻧﺸﺎن.اﮔﺮﺑﺎﺷﺪ ﻧﺸﺪه ﺗﻌﯿﯿﻦ ﺗﻠﺮاﻧﺲ اﯾﻦ ﻣﻘﺪار،ﻣﻘﺪار10*n*norm(A,1)* epsﻋﻨﻮان ﺑﻪ
ﺷﻮد ﻣﯽ ﮔﺮﻓﺘﻪ ﻧﻈﺮ در ﻓﺮض ﭘﯿﺶ.
•ﻣﺜﺎل:ﺑﮕﯿﺮﯾﺪ ﻧﻈﺮ در را زﯾﺮ ﺳﯿﺴﺘﻢ:
=
−
−
=
−
=
10
01
,
11
11
,
24
11
CBA
دﺳﺘﻮر اﻋﻤﺎل ﺑﺎ
[Abar,Bbar,Cbar,T,K]=ctrbf(A,B,C)
داﺷﺖ ﺧﻮاﻫﯿﻢ زﯾﺮ ﺻﻮرت ﺑﻪ را ﺟﺪﯾﺪ ﺳﯿﺴﺘﻢ و ﺷﺪه ﺟﺪا ﻫﻢ از ﺳﯿﺴﺘﻢ ﻧﺎﭘﺬﯾﺮ ﮐﻨﺘﺮل و ﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺣﺎﻟﺘﻬﺎی:
Abar=
-3 0
-3 2
Bbar=
0 0
1.4142 -1.4142
Cbar=
-0.7071 0.7071
0.7071 0.7071
ﺗﺒ ﻣﺎﺗﺮﯾﺲﺗﺸﺎﺑﻬﯽ ﺪﯾﻞTﺑﺮدار وKﺑﻮد ﺧﻮاﻫﻨﺪ زﯾﺮ ﺻﻮرت ﺑﻪ ﻧﯿﺰ:
T=
-0.7071 0.7071
0.7071 0.7071
K=
1 0
١ﻣﺎﺗﺮﯾﺲUnitay Tاﮔﺮ ﺗﻨﻬﺎ و ﺗﻨﻬﺎ اﮔﺮ اﺳﺖ:
T.TT
=TT
.T=I
٢دﺳﺘﻮرSUM(K)ﺑﺮدار ﻋﻨﺎﺻﺮ ﻣﺠﻤﻮعKﻣﯽ ﻣﺤﺎﺳﺒﻪ راﮐﻨﺪ.
- 15. 15
در ﺳﯿﺴﺘﻢ ﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺣﺎﻟﺖ ﮐﻪ دﻫﺪ ﻣﯽ ﻧﺸﺎن ﺟﺪﯾﺪ ﺳﯿﺴﺘﻢ3-در آن ﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺣﺎﻟﺖ و2+اﺳﺖ ﮔﺮﻓﺘﻪ ﻗﺮار.
•ﻣﺮﺗﺒﻂ دﺳﺘﻮراﻟﻌﻤﻠﻬﺎی:
ctrb:ﻣ ﻣﺤﺎﺳﺒﻪ را ﭘﺬﯾﺮی ﮐﻨﺘﺮل ﻣﺎﺗﺮﯾﺲﮐﻨﺪ ﯽ.
minreal:دﻫﺪ ﻣﯽ ﻧﺘﯿﺠﻪ را ﻧﯿﻤﺎل ﻣﯽ ﺗﺤﻘﻖ و داده اﻧﺠﺎم ﺻﻔﺮ و ﻗﻄﺐ ﺣﺬف.
2-7-دﺳﺘﻮرdiag:
•ﻫﺪف:
1.اﺻﻠﯽ ﻗﻄﺮ ﻣﻮازی ﻗﻄﺮﻫﺎی روی ﯾﺎ ﻣﺎﺗﺮﯾﺲ ﯾﮏ اﺻﻠﯽ ﻗﻄﺮ روی ﺑﺮدار ﯾﮏ ﻋﻨﺎﺻﺮ ﻗﺮاردادن
2.ﺑﺮدار ﯾﮏ در آن ﺑﺎ ﻣﻮازی ﻗﻄﺮﻫﺎی ﯾﺎ ﻣﺎﺗﺮﯾﺲ ﯾﮏ اﺻﻠﯽ ﻗﻄﺮ روی ﻋﻨﺎﺻﺮ ﻗﺮاردادن.
•دﺳ ﻧﮕﺎرشﺘﻮراﻟﻌﻤﻞ:
X=diag(v,k)
X=diag(v)
V=diag(x,k)
V=diag(x)
•ﺗﻮﺿﯿﺤﺎت:
دﺳﺘﻮرX=diag(v,k)آن در ﮐﻪVو ﺑﺮدار ﯾﮏnو ﻋﻀﻮیk، اﺳﺖ ﺻﺤﯿﺢ ﻋﺪد ﯾﮏﻣﺎﺗﺮﯾﺲXﮐﻨﺪ ﻣﯽ ﺗﻮﻟﯿﺪ را
آن اﺑﻌﺎد ﮐﻪn+abs(k)ﺑﺮدار ﻋﻨﺎﺻﺮ و اﺳﺖVرویKﻗﺮاردارﻧﺪ آن ﻗﻄﺮ اﻣﯿﻦ.K=0ا ﻗﻄﺮ ﺑﯿﺎﻧﮕﺮ،ﺻﻠﯽK>0ﻗﻄﺮﻫﺎی ﺑﻪ ﻣﺮﺑﻮط
و اﺻﻠﯽ ﻗﻄﺮ ﺑﺎﻻیK<0اﺳﺖ آن زﯾﺮ ﻗﻄﺮﻫﺎی ﺑﻪ ﻣﺮﺑﻮط.
دﺳﺘﻮرX=diag(v)ازای ﺑﻪ ﻗﺒﻞ دﺳﺘﻮر ﻫﻤﺎن واﻗﻊ درK=0اﺳﺖ.دﺳﺘﻮرV=diag(x,k)آن در ﮐﻪxﻣﺎﺗﺮﯾﺲ ﯾﮏ
، اﺳﺖﻗﻄﺮkامxﺑﺮدار در راVدﻫﺪ ﻣﯽ ﻗﺮار.ﻋﻼﻣﺖ وﺿﻌﯿﺖKدﺳﺘﻮر ﻣﺎﻧﻨﺪX=diag(v,k)ﺑﺎﺷﺪ ﻣﯽ.V=diag(x)ﻧﯿﺰ
ﻣﺎﺗﺮﯾﺲ اﺻﻠﯽ ﻗﻄﺮ روی ﻋﻨﺎﺻﺮxﺑﺮدار در راkدﻫﺪ ﻣﯽ ﻗﺮار.
•ﻣﺜﺎل:ﺑﺮدارVﮔﯿﺮﯾﻢ ﻣﯽ ﻧﻈﺮ در زﯾﺮ ﺻﻮرت ﺑﻪ را:
» V=[-1 –2 –3];
» X=diag(V)
X=
-1 0 0
0 -2 0
0 0 -3
» X=diag(v,1)
X=
0 -1 0 0
0 0 -2 0
0 0 0 -3
0 0 0 0
» Y=[1 2 3;-3 –2 –1;-5 –6 –8];
» V1=diag(Y)
V1=
1
-2
-8
» V2=diag(Y,1)
V2=
2
-1
- 16. 16
2-8-دﺳﺘﻮرeig:
•ﻫﺪف:وﯾﮋه ﺑﺮدارﻫﺎی و ﻣﻘﺎدﯾﺮ ﯾﺎﻓﺘﻦ
•دﺳﺘﻮراﻟﻌﻤﻞ ﻧﮕﺎرش:
d=eig(A)
d=eig(A,B)
[V,D]=eig(A)
[V,D]=eig(A,’no balance’)
[V,D]=eig(A,B)
[V,D]=eig(A,B,flag)
•ﺗﻮﺿﯿﺤﺎت:ﭘﺮدازﯾﻢ ﻣﯽ ﻣﻘﺪﻣﺎﺗﯽ ﺗﻌﺎرﯾﻒ ای ﭘﺎره ﻣﺮور ﺑﻪ آﻏﺎز در.اﺳﺖ زﯾﺮ ﻣﻌﺎدﻟﻪ ﺣﻞ واﻗﻊ در وﯾﮋه ﻣﻘﺎدﯾﺮ ﻣﺴﺎﻟﻪ:
XAX λ=
آن در ﮐﻪAﻣﺎﺗﺮﯾﺲ ﯾﮏn*n،Xﺑﺮدار ﯾﮏnﻋﻀﻮو یλاﺳﺖ اﺳﮑﺎﻟﺮ ﯾﮏ.
از ﻣﻘﺎدﯾﺮیλ، ﮐﻨﻨﺪ ﻣﯽ ﺑﺮآورده را ﻓﻮق ﻣﻌﺎدﻟﻪ ﮐﻪﻣﺎﺗﺮﯾﺲ وﯾﮋه ﻣﻘﺎدﯾﺮAﻫﺴﺘﻨﺪ.ﻣﺎﺗﺮﯾﺲ اﺑﻌﺎد ﺗﻌﺪاد ﺑﺎ ﺑﺮاﺑﺮ وﯾﮋه ﻣﻘﺎدﯾﺮ ﺗﻌﺪاد
A)ﯾﻌﻨﯽn(اﺳﺖ.ﺑﺮدارXﻣﺎﺗﺮﯾﺲ راﺳﺖ ﺳﻤﺖ وﯾﮋه ﺑﺮدار ﻧﺎم ﺑﻪ ﻧﯿﺰAﻣﯽ ﺷﻨﺎﺧﺘﻪﺷﻮد.اﻓﺰار ﻧﺮم درMatlabدﺳﺘﻮر
eigاﺳﺖ ﺷﺪه ﮔﺮﻓﺘﻪ ﻧﻈﺮ در وﯾﮋه ﺑﺮدارﻫﺎی و ﻣﻘﺎدﯾﺮ ﻣﺤﺎﺳﺒﻪ ﺑﺮای.
، ﯾﺎﻓﺘﻪ ﺗﻌﻤﯿﻢ وﯾﮋه ﻣﻘﺎدﯾﺮ ﻣﺴﺎﻟﻪ دراز ﻣﻘﺎدﯾﺮی ﯾﺎﻓﺘﻦ ﻫﺪفλوxﺳﺎزﻧﺪ ﺑﺮآورده را زﯾﺮ ﻣﻌﺎدﻟﻪ ﮐﻪ اﺳﺖ:
BXAX λ=
آن در ﮐﻪAوBﻣﺎﺗﺮﯾﺴﻬﺎی دو ﻫﺮn*nﻫﺴﺘﻨﺪ ﻣﻌﻠﻮم و.اﮔﺮBﻧﺒﺎﺷﺪ وﯾﮋهﺗﺒﺪﯾﻞ زﯾﺮ ﻓﺮم ﺑﻪ ﺗﻮان ﻣﯽ را ﻓﻮق ﻣﻌﺎدﻟﻪ آﻧﮕﺎه
ﮐﺮد:
XAXB λ=−1
ﻣﺎﺗﺮﯾﺲ ﺑﺮای ﻣﻌﻤﻮﻟﯽ وﯾﮋه ﺑﺮدارﻫﺎی و ﻣﻘﺎدﯾﺮ ﯾﺎﻓﺘﻦ ﻫﻤﺎن واﻗﻊ در ﮐﻪB-1
Aﺑﺎﺷﺪ ﻣﯽ.اﮔﺮ اﻣﺎBاﻟﮕﻮرﯾﺘﻢ از اﺳﺘﻔﺎده ﺑﺎﺷﺪ وﯾﮋه
QZاﺳﺖ ﺿﺮوری.
دﺳﺘﻮرd=eig(A)ﻣﺎﺗﺮﯾﺲ وﯾﮋه ﻣﻘﺎدﯾﺮAﻣﯽ ﺑﺮ راﮔﺮداﻧﺪ.
دﺳﺘﻮرd=eig(A,B)آن در ﮐﻪAوB،ﻫﺴﺘﻨﺪ ﻣﺮﺑﻌﯽ ﻣﺎﺗﺮﯾﺲ دوﻣﺤﺎﺳﺒﻪ را ﯾﺎﻓﺘﻪ ﺗﻌﻤﯿﻢ وﯾﮋه ﻣﻘﺎدﯾﺮ
ﮐﻨﺪ ﻣﯽ.
[V,D]=eig(A)ﻣﺎﺗﺮﯾﺲ وﯾﮋه ﻣﻘﺎدﯾﺮAﻗﻄﺮی ﻣﺎﺗﺮﯾﺲ روی در راDﻣﺎﺗﺮﯾﺲ در را آن وﯾﮋه ﺑﺮدارﻫﺎی وV، دﻫﺪ ﻣﯽ ﻗﺮار
داﺷﺖ ﺧﻮاﻫﯿﻢ ﺑﻨﺎﺑﺮاﯾﻦ:A*V=V*DﮐﻪVﺑ ﻣﺎﺗﺮﯾﺲراﺳﺖ وﯾﮋه ﺮدارﻫﺎیAاﺳﺖ.ﻣﺎﺗﺮﯾﺲWﭼﭗ ﺑﺮدارﻫﺎی ﻣﺎﺗﺮﯾﺲ ،A
ﺷﻮد ﻣﯽ ﻧﺎﻣﯿﺪهاﮔﺮWT
*A=D*WT
.ﻣﺤﺎﺳﺒﻪ ﺑﺮایWاﺳﺖ ﻻزم زﯾﺮ دﺳﺘﻮرات:
» [W,D]=eig(A.’);
» W=conj(W);
دﺳﺘﻮر[V,D]=eig(a,'no balance')وﯾﮋه ﺑﺮدارﻫﺎی و ﻣﻘﺎدﯾﺮAﺳﺎزی ﻣﺘﻌﺎدل ﻓﺮآﯾﻨﺪ اﻧﺠﺎم ﺑﺪون را1
ﻣ اوﻟﯿﻪﺤﺎﺳﺒﻪ
ﮐﻨﺪ ﻣﯽ.،ﻣﻌﻤﻮل ﻃﻮر ﺑﻪ،ﺑﺨﺸﯿﺪه ﺑﻬﺒﻮد را ورودی ﻣﺎﺗﺮﯾﺲ ﺷﺮاﯾﻂ ﺳﺎزی ﻣﺘﻌﺎدل ﻋﻤﻞ اﻧﺠﺎمﻣﻘﺎدﯾﺮ ﺗﺮ ﺻﺤﯿﺢ ﻣﺤﺎﺳﺒﻪ ﺑﻪ ﻣﻨﺠﺮ
ﺷﻮد ﻣﯽ وﯾﮋه ﺑﺮدارﻫﺎی و.ﮐﺮدن ﮔﺮد ﺧﻄﺎی ﺑﺮوز اﻣﮑﺎن ﮐﻪ ﺑﺎﺷﻨﺪ ﮐﻮﭼﮏ ﺣﺪی ﺑﻪ ﻣﺎﺗﺮﯾﺲ ﻋﻨﺎﺻﺮ ﭼﻨﺎﻧﭽﻪ اﻣﺎ2
داﺗﺸﻪ وﺟﻮد
آﻧ اﺳﺖ ﻣﻤﮑﻦ ﺳﺎزی ﻣﺘﻌﺎدل ﻋﻤﻞ ﺑﺎﺷﺪﻗﺎﺑﻞ ﻣﻘﺎدﯾﺮ ،ﻣﺎﺗﺮﯾﺲ ﻋﻨﺎﺻﺮ ﺳﺎﯾﺮ ﺑﺎ ﻣﻘﺎﯾﺴﻪ در ﮐﻪ ﮐﻨﺪ دﻫﯽ ﻣﻘﯿﺎس ای ﮔﻮﻧﻪ ﺑﻪ را ﻬﺎ
آﻣﺪ ﺧﻮاﻫﺪ ﺑﻮﺟﻮد ﺧﻄﺎ وﯾﮋه ﺑﺮدارﻫﺎی ﻣﺤﺎﺳﺒﻪ در ﻧﺘﯿﺠﻪ در و ﺑﮕﯿﺮﻧﺪ ای ﻣﻼﺣﻈﻪ.از ﻋﻨﺼﺮی ﮐﻪ ﻣﻮاردی در اﺳﺖ ﺑﻬﺘﺮ ﺑﻨﺎﺑﺮاﯾﻦ
ﻣﺎﺗﺮﯾﺲAﺣﺎﻟﺖ از اﺳﺖ ﮐﻮﭼﮏ ﺧﯿﻠﯽ
'no balance'ﻣﻘﺎدﯾﺮ ﻣﺤﺎﺳﺒﻪ ﺑﺮایﺷﻮد اﺳﺘﻔﺎده وﯾﮋه ﺑﺮدارﻫﺎی و.
دﺳﺘﻮر[V,D]=eig(A,B)ﻗﻄﺮی ﻣﺎﺗﺮﯾﺲDﻣﺎﺗﺮﯾﺲ و ﯾﺎﻓﺘﻪ ﺗﻌﻤﯿﻢ وﯾﮋه ﻣﻘﺎدﯾﺮ ﺷﺎﻣﻞVﺑﺮدارﻫﺎی آن ﺳﺘﻮﻧﻬﺎی ﮐﻪ
ﮐﻨﺪ ﻣﯽ ﺗﻮﻟﯿﺪ را ﻫﺴﺘﻨﺪ ﯾﺎﻓﺘﻪ ﺗﻌﻤﯿﻢ وﯾﮋه.داﺷﺖ ﺧﻮاﻫﯿﻢ ﺑﻨﺎﺑﺮاﯾﻦ:A*V=B*V*D
1
Balancing
2
Roundoff error
- 17. 17
دﺳﺘﻮر[V,D]=eig(A,B,flag)ﻣ اﻟﮕﻮرﯾﺘﻢﮐﻨﺪ ﻣﯽ ﻣﺸﺨﺺ ﻧﯿﺰ را وﯾﮋه ﺑﺮدارﻫﺎی و ﻣﻘﺎدﯾﺮ ﻣﺤﺎﺳﺒﻪ در اﺳﺘﻔﺎده ﻮرد.
flagﮐﻨﺪ اﺧﺘﯿﺎر را زﯾﺮ ﻣﻮارد از ﯾﮑﯽ ﺗﻮاﻧﺪ ﻣﯽ:
‘chol’:ﻓﺎﮐﺘﻮرﮔﯿﺮی از اﺳﺘﻔﺎده ﺑﺎ را ﯾﺎﻓﺘﻪ ﺗﻌﻤﯿﻢ وﯾﮋه ﻣﻘﺎدﯾﺮ ﻣﺤﺎﺳﺒﻪcholeskyازBدﻫﺪ ﻣﯽ اﻧﺠﺎم.ﭼﻨﺎﻧﭽﻪAﻣﺘﻘﺎرن
(Hermation)وBﻣﻌﯿﻦ ﻣﺘﻘﺎرنﺷﺪ ﺧﻮاﻫﺪ اﻧﺘﺨﺎب ﻓﺮض ﭘﯿﺶ ﺻﻮرت ﺑﻪ روش اﯾﻦ ﺑﺎﺷﺪ ﻣﺜﺒﺖ.
‘qz’:ازاﻟﮕﻮرﯾﺘﻢQZﺑﺮای و ﮔﯿﺮد ﻣﯽ ﺑﻬﺮهAوBاﺳﺖ اﻋﻤﺎل ﻗﺎﺑﻞ ﻧﯿﺰ ﻧﺎﻣﺘﻘﺎرن.
•ﻣﺜﺎل:
ﮔﯿﺮﯾﻢ ﻣﯽ ﻧﻈﺮ در را زﯾﺮ ﻣﺎﺗﺮﯾﺲ:
−−
−−
−−
−−
=
11.05.05.0
012/4/
142
*29.023
epseps
eps
eps
B
ﻣ ﮔﺮدﮐﺮدن ﺧﻄﺎی دﭼﺎر ﻣﺤﺎﺳﺒﺎت در ﮐﻪ اﺳﺖ ﻋﻨﺎﺻﺮی دارای ﻣﺎﺗﺮﯾﺲ اﯾﻦﯽﺷﻮﻧﺪ.ﮐﻪ دﻫﺪ ﻣﯽ ﻧﺸﺎن ﺧﻮﺑﯽ ﺑﻪ ﻣﺜﺎل اﯾﻦ
ﺣﺎﻟﺖ از اﺳﺘﻔﺎدهno balanceاﺳﺖ ﺿﺮوری وﯾﮋه ﺑﺮدارﻫﺎی ﺻﺤﯿﺢ ﻣﺤﺎﺳﺒﻪ ﺑﺮای.دﺳﺘﻮرات اﺟﺮای ﺑﺎ:
» [VB,DB]=eig(B);
» B*VB-VB*DB
داﺷﺖ ﺧﻮاﻫﯿﻢ:
ans =
0 -0.0000 0.0000 0
0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000 -0.0000 0.0000
0 0.0000 0 1.4420
دﺳﺘﻮرات اﺟﺮای ﺑﺎ ﮐﻪ ﺣﺎﻟﯽ در ﻧﯿﺴﺖ ﺻﻔﺮ ﻣﺎﺗﺮﯾﺲ ﺑﺎ ﺑﺮاﺑﺮ ﮐﻪ:
» [VN,DN]=eig(B,‘nobalance’);
» B*VN-VN*DN
اﺳﺖ ﻧﺰدﯾﮑﺘﺮ ﺑﺴﯿﺎر ﺻﻔﺮ ﺑﻪ ﮐﻪ آﯾﺪ ﻣﯽ ﺑﺪﺳﺖ زﯾﺮ ﻣﺎﺗﺮﯾﺲ:
ans =
1.0e-015 *
0.4441 -0.2220 0.1471 -0.4996
0 0.0555 -0.3695 0.0278
-0.0172 -0.0015 0.0066 0
0 -0.2220 -0.1110 0.0555
2-9-دﺳﺘﻮرestim:
•ﻫﺪف:ﺣﺎﻟﺖ ﻣﻌﺎدﻻت درﯾﺎﻓﺖ ﺑﺎ روﯾﺘﮕﺮ دﯾﻨﺎﻣﯿﮑﯽ ﻣﻌﺎدﻻت ﺗﻌﯿﯿﻦروﯾﺘﮕﺮ ﺑﻬﺮه و ﺳﯿﺴﺘﻢ.
•ﻧﮕﺎرش:
est=estim(sys,L)
est=estim(sys,L,sensors,known)
•ﺗﻮﺿﯿﺤﺎت:
دﺳﺘﻮرest=estim(sys,L)ﺳﯿﺴﺘﻢ درﯾﺎﻓﺖ ﺑﺎsysروﯾﺘﮕﺮ ﺑﻬﺮه وLروﯾﺘﮕﺮ ﺣﺎﻟﺖ ﻣﻌﺎدﻻت ،(est)راﻣﯽ ﻧﺸﺎن
دﻫﺪ.ﺳﯿﺴﺘﻢ ورودﯾﻬﺎی ﻫﻤﻪ(W)ﺧﺮوﺟﯿﻬﺎی ﻫﻤﻪ و ﺗﺼﺎدﻓﯽYﮔﯿﺮ اﻧﺪازه ﻗﺎﺑﻞﻣﯽ ﻓﺮض یﺷﻮﻧﺪ.روﯾﺘﮕﺮestﻓﺮم در
ﺷﻮد ﻣﯽ اراﺋﻪ ﺣﺎﻟﺖ ﻓﻀﺎی.اﺻﻠﯽ ﺳﯿﺴﺘﻢ اﮔﺮ(sys)ﺑﺎﺷﺪ زﯾﺮ ﻣﻌﺎدﻻت دارای:
X=Ax+Bw
Y=Cx+Dw
- 18. 18
دﺳﺘﻮر آﻧﮕﺎهestimﺳﯿﺴﺘﻢ ﺣﺎﻟﺖ و ﺧﺮوﺟﯽ ﺗﺨﻤﯿﻨﻬﺎی),(
^^
yxﮐﻨﺪ ﻣﯽ ﺗﻮﻟﯿﺪ زﯾﺮ ﻣﻌﺎدﻻت ﺑﺎ را:
^
^
^
^^^
)(
x
I
C
x
y
xCyLxAx
=
−+=
•
دﺳﺘﻮرest=estim(sys,l,sensors,known)ﻋﻤﻮﻣﯽ ﺳﯿﺴﺘﻤﻬﺎی ﺑﺮایرود ﻣﯽ ﮐﺎر ﺑﻪ ﺗﺮ.ﻣﯽ ﻓﺮض اﯾﻨﺠﺎ در
ﺳﯿﺴﺘﻢ ﮐﻪ ﺷﻮدsysﻣﻌﻠﻮم ﻫﺎی ورودی دارایuﺗﺼﺎدﻓﯽ ورودﯾﻬﺎی وwﺑﺎﺷﺪ.دو ﺑﻪ ﻧﯿﺰ ﺳﯿﺴﺘﻢ ﻫﺎی ﺧﺮوﺟﯽ ﻫﻤﭽﻨﯿﻦ
اﻧﺪا ﻗﺎﺑﻞ ﮔﺮوهﮔﯿﺮی زه(y)ﮔﯿﺮی اﻧﺪازه ﻗﺎﺑﻞ ﻏﯿﺮ و(z)ﺷﻮﻧﺪ ﻣﯽ ﺗﻘﺴﯿﻢ.
ﺑﻮد ﺧﻮاﻫﺪ زﯾﺮ ﺻﻮرت ﺑﻪ ﺳﯿﺴﺘﻢ ﻣﻌﺎدﻻت:
u
D
D
w
D
D
x
C
C
y
z
uBwBAxx
+
+
=
++=
•
22
12
21
11
2
1
21
اﻧﺪﯾﺲ ﺑﺮدارﻫﺎیsensorsوknownاﻧﺪازه ﻗﺎﺑﻞ ﺧﺮوﺟﯿﻬﺎ از ﮐﺪاﻣﯿﮏ ﮐﻪ ﮐﻨﺪ ﻣﯽ ﻣﺸﺨﺺ ﺗﺮﺗﯿﺐ ﺑﻪﻫﺴﺘﺘﻨﺪ ﮔﯿﺮی(y)و
ﺗﺼﺎدﻓﯽ ﻏﯿﺮ ﻣﻘﺪار ورودﯾﻬﺎ از ﮐﺪاﻣﯿﮏدارﻧﺪ(u).روﯾﺘﮕﺮestورودﯾﻬﺎی ازuﺧﺮوﺟﯿﻬﺎی وyﺳﯿﺴﺘﻢ ﺣﺎﻟﺘﻬﺎی ﺗﺨﻤﯿﻦ و
ﮐﻨﺪ ﻣﯽ اﺳﺘﻔﺎده.
u
D
x
I
C
x
y
uDxCyLuBxAx
+
=
−−++=
•
0
)(
22
^
2
^
^
22
^
22
^^
روﯾﺘﮕﺮ ﺑﻬﺮه ﻃﺮاﺣﯽ ﮐﻪ اﺳﺖ ذﮐﺮ ﺷﺎﯾﺎن(L)دﺳﺘﻮرات ﺑﺎplace،kalmanﯾﺎackerاﺳﺖ اﻣﮑﺎﻧﭙﺬﯾﺮ.دﯾﮕﺮ ﺳﻮی از
دﯾﻨﺎ ﮐﻪ اﺳﺖ ﻻزم ﺗﺨﻤﯿﻦ ﺻﺤﺖ ﺗﻀﻤﯿﻦ ﻣﻨﻈﻮر ﺑﻪﺑﺎﺷﻨﺪ ﺳﺮﯾﻌﺘﺮ اﺻﻠﯽ ﺳﯿﺴﺘﻢ دﯾﻨﺎﻣﯿﮑﻬﺎی از روﯾﺘﮕﺮ ﻣﯿﮑﻬﺎی.
•دﺳﺘﻮرﻫﺎیﻣﺮﺗﺒﻂ:
دﺳﺘﻮرregرﮔﻮﻻﺗﻮر ﯾﮏ ﻣﻌﺎدﻻترااراﺋﻪ روﯾﺘﮕﺮ ﺑﻬﺮه و ﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ درﯾﺎﻓﺖ ﺑﺎدﻫﺪ ﻣﯽ.
2-10-دﺳﺘﻮرexam:
•ﻫﺪف:ﻣﺤﺎﺳﺒﻪeX
ﺣﺎﻟ درﺘﯽﮐﻪXاﺳﺖ ﻣﺎﺗﺮﯾﺲ ﯾﮏ.
•ﻧﮕﺎرش:Y=exam(X)
•ﺗﻮﺿﯿﺤﺎت:ﻣﺤﺎﺳﺒﻪ درeX
ﮐﻪ ﻫﻨﮕﺎﻣﯽXدارد وﺟﻮد ﻋﻤﺪه روش دو اﺳﺖ ﻣﺎﺗﺮﯾﺲ ﯾﮏ:
اﺳﺖ ﺗﯿﻠﻮر ﺳﺮی از اﺳﺘﻔﺎده اول روش:
LL ++++++=
!!3!2
32
K
XXX
XIe
K
X
روی ﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞ اﻋﻤﺎل دوم روشXاﺳﺖ آن ﻗﻄﺮﺳﺎزی و.
111 −−−
=→=→= PPeePDPXXPPD DX
ﺗﻮان ﻣﯽ زﯾﺮ دﺳﺘﻮرات ﺑﺎ ﺗﺮﺗﯿﺐ اﯾﻦ ﺑﻪeX
ﮐﺮد ﻣﺤﺎﺳﺒﻪ را.
» [V,D]=eig(X);
» exp_x=V*diag(exp(diag(D)))/V;
ﭼﻨﺎﻧﭽﻪXﻣﺤﺎﺳﺒﻪ ﺑﺮای ﺳﻮم روش از ﺑﺎﺷﺪ ﻧﺪاﺷﺘﻪ ﺗﮑﺮاری وﯾﮋه ﻣﻘﺎدﯾﺮeX
ﺷﻮد ﻣﯽ اﺳﺘﻔﺎده.ﻣﺤﺎﺳﺒﻪ ﺳﻮم روشeX
راه از
ﺗﻘﺮﯾﺐPadeاﺳﺖ.
- 19. 19
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرات:
expm1:ﻣﺤﺎﺳﺒﻪeX
ﺗﻘﺮﯾﺐ روش ازPade
expm2:ﻣﺤﺎﺳﺒﻪeX
روش ازﺗﯿﻠ ﺳﺮیﻮر
expm3:ﻣﺤﺎﺳﺒﻪeX
روش ازوﯾﮋه ﺑﺮدارﻫﺎی و ﻣﻘﺎدﯾﺮ
logm:ﻣﺎﺗﺮﯾﺲ ﻟﮕﺎرﯾﺘﻢAﮐﻨﺪ ﻣﯽ ﻣﺤﺎﺳﺒﻪ را.
sqrtm:دﺳﺘﻮرX=sqrtm(A)ﻣﺎﺗﺮﯾﺲXﮐﻪ آورد ﻣﯽ ﺑﺪﺳﺖ ﭼﻨﺎن راX*X=A
funm:ﻧﻤﺎﯾﺪ ﻣﯽ اﻋﻤﺎل را ﻣﺨﺘﻠﻒ ﺗﻮاﺑﻊ ﻣﺎﺗﺮﯾﺴﯽ ﻓﺮم.
2-11-دﺳﺘﻮرGram:
•ﻫﺪف:ﮔﺮاﻣﯿﺎﻧﻬﺎی ﻣﺤﺎﺳﺒﻪﭘﺬﯾﺮی روﯾﺖ و ﭘﺬﯾﺮی ﮐﻨﺘﺮل.
•ﻧﮕﺎرش:
Wc=gram(sys,’c’)
Wo=gram(sys,’o’)
•ﺗﻮﺿﯿﺤﺎت:
دﺳﺘﻮرgramﮐﻨﺪ ﻣﯽ ﻣﺤﺎﺳﺒﻪ را ﺳﯿﺴﺘﻢ ﭘﺬﯾﺮی روﯾﺖ و ﭘﺬﯾﺮی ﮐﻨﺘﺮل ﮔﺮاﻣﯿﺎﻧﻬﺎی.ﮐﻨﺘﺮل ﺑﺮرﺳﯽ در ﮔﺮاﻣﯿﺎﻧﻬﺎ اﯾﻦ از
اﺳﺘ ﻣﺪﻟﻬﺎ ﻣﺮﺗﺒﻪ ﮐﺎﻫﺶ در ﻧﯿﺰ و ﺳﯿﺴﺘﻢ ﭘﺬﯾﺮی روﯾﺖ و ﭘﺬﯾﺮیﺷﻮد ﻣﯽ ﻔﺎده.
ﺑﺎﺷﺪ زﯾﺮ ﺻﻮرت ﺑﻪ ﺳﯿﺴﺘﻢ ﻓﻀﺎی ﻣﻌﺎدﻻت اﮔﺮ:
DuCxy
BuAxx
+=
+=
•
ﺷﻮﻧﺪ ﻣﯽ ﺗﻌﺮﯾﻒ زﯾﺮ ﺻﻮرت ﺑﻪ ﭘﺬﯾﺮی روﯾﺖ و ﭘﺬﯾﺮی ﮐﻨﺘﺮل ﮔﺮاﻣﯿﺎﻧﻬﺎی:
∫
∫
=
=
∞
τ
τ
ττ
ττ
dCeCeW
deBBeW
ATA
o
ATA
c
T
T
.
.
0
داﺷﺖ ﺧﻮاﻫﯿﻢ زﻣﺎن ﮔﺴﺴﺘﻪ ﺳﯿﺴﺘﻤﻬﺎی ﺑﺮای و:
∑
∑
=
=
∞
=
kTKT
o
k
KTTk
c
CACAW
ABBAW
)(
)(
0
ﻣﻌ ﻣﺜﺒﺖ ﭘﺬﯾﺮی ﮐﻨﺘﺮل ﮔﺮاﻣﯿﺎناﮔﺮ ﺗﻨﻬﺎ و اﮔﺮ اﺳﺖ ﯿﻦ(A,B)ﻣﻌﯿﻦ ﻣﺜﺒﺖ ﻧﯿﺰ ﭘﺬﯾﺮی روﯾﺖ ﮔﺮاﻣﯿﺎن ،ﺑﺎﺷﺪ ﭘﺬﯾﺮ ﮐﻨﺘﺮل
اﮔﺮ ﺗﻨﻬﺎ و اﮔﺮ اﺳﺖ(C,A)ﺑﺎﺷﺪ ﭘﺬﯾﺮ روﯾﺖ.دﺳﺘﻮرgramاﺳﺖ اﻋﻤﺎل ﻗﺎﺑﻞ ﻧﯿﺰ زﻣﺎن ﮔﺴﺴﺘﻪ ﺳﯿﺴﺘﻤﻬﺎی ﺑﻪ.
ﮐﺮد ﻣﺤﺎﺳﺒﻪ ﺗﻮان ﻣﯽ زﯾﺮ ﻟﯿﺎﭘﺎﻧﻮف ﻣﻌﺎدﻟﻪ ﺣﻞ از را ﭘﺬﯾﺮی ﮐﻨﺘﺮل ﮔﺮاﻣﯿﺎن:
:ﺳﯿﺴﺘﻤﻬﺎی درﭘﯿﻮﺳﺘﻪ 0=++ TT
cc BBAWAW
:ﮔﺴﺴﺘﻪ ﺳﯿﺴﺘﻤﻬﺎی در 0=+− T
c
T
c BBWAAW
اﺳﺖ ﺻﺎدق زﯾﺮ ﻟﯿﺎﭘﺎﻧﻮف ﻣﻌﺎدﻻت در ﻧﯿﺰ ﭘﺬﯾﺮی روﯾﺖ ﮔﺮاﻣﯿﺎن:
:ﭘﯿﻮﺳﺘﻪ ﺳﯿﺴﺘﻤﻬﺎی در 0=++ CCAWWA T
oo
T
:ﮔﺴﺴﺘﻪ ﺳﯿﺴﺘﻤﻬﺎی در 0=+− CCWAWA T
oo
T
دﺳﺘﻮرات از ﺑﻨﺎﺑﺮاﯾﻦlyapوdlyapﻧﻣﯽ ﯿﺰﮐﺮد اﺳﺘﻔﺎده ﮔﺮاﻣﯿﺎﻧﻬﺎ ﻣﺤﺎﺳﺒﮥ ﺑﺮای ﺗﻮان.
- 20. 20
•ﻣﺤﺪودﯾﺘﻬﺎ:ﻣﺎﺗﺮﯾﺲAﺑﺎﺷﺪ ﭘﺎﯾﺪار ﺑﺎﯾﺪ.
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرات:
ctrb:ﭘﺬﯾﺮی ﮐﻨﺘﺮل ﻣﺎﺗﺮﯾﺲ ﻣﺤﺎﺳﺒﻪ
obsv:ﭘﺬﯾﺮی روﯾﺖ ﻣﺎﺗﺮﯾﺲ ﻣﺤﺎﺳﺒﻪ
balreal:ﻫﺎ ﮔﺮاﻣﯿﺎن از اﺳﺘﻔﺎده ﺑﺎ ﺷﺪه ﻣﺘﻌﺎدل ﺗﺤﻘﻖ ﻣﺤﺎﺳﺒﻪ
lyap,dlyap:ﻟﯿﺎﭘﺎﻧﻮف ﻣﻌﺎدﻟﻪ ﺣﻞزﻣﺎن ﮔﺴﺴﺘﻪ و ﭘﯿﻮﺳﺘﻪ ﺣﺎﻟﺘﻬﺎی در.
2-12-دﺳﺘﻮرinitial:
•ﻫﺪف:اوﻟﯿﻪ ﺷﺮاﯾﻂ ﺑﻪ ﺳﯿﺴﺘﻢ ﭘﺎﺳﺦ ﻣﺤﺎﺳﺒﻪ)ﺻﻔﺮ ورودی ﭘﺎﺳﺦ(
•ﻧﮕﺎرش:
initial(sys,x0)
initial(sys,x0,t)
initial(sys1,sys2,...,sysN,x0)
initial(sys1,sys2,...,sysN,x0,t)
initial(sys1,’PlotStyle1’,...,sysN,’PlotStyleN’,x0)
[y,x,t]=initial(sys,x0)
•ﺗﻮﺿﯿﺤﺎت:دﺳﺘﻮرinitialاوﻟﯿﻪ ﺷﺮاﯾﻂ ازای ﺑﻪ ﺷﻮد ﻧﻤﯽ اﻋﻤﺎل آن ﺑﻪ ﺧﺎرﺟﯽ ورودی ﻫﯿﭻ ﮐﻪ را ﺳﯿﺴﺘﻤﯽ ﭘﺎﺳﺦ
ﮐﻨﺪ ﻣﯽ ﻣﺤﺎﺳﺒﻪ ﺳﯿﺴﺘﻢ ﺣﺎﻟﺘﻬﺎی در.اﺳﺖ اﻋﻤﺎل ﻗﺎﺑﻞ زﻣﺎن ﮔﺴﺴﺘﻪ و ﭘﯿﻮﺳﺘﻪ ﻣﺪﻟﻬﺎی ﺑﻪ ﺗﺎﺑﻊ اﯾﻦ.ﺣﺎﻟﺖ در ﺟﺰ ﺑﻪ
[y,t,x]=initial(sys,xo)دﺳﺘﻮر اﺟﺮای ﻣﻮارد ﺳﺎﯾﺮ درinitialﺳﯿﺴﺘﻢ اوﻟﯿﻪ ﺷﺮاﯾﻂ ﭘﺎﺳﺨﻬﺎی رﺳﻢ ﺑﺎ
اﺳﺖ ﻫﻤﺮاه.
دﺳﺘﻮرinitial(sys,x0)ﺳﯿﺴﺘﻢ ﭘﺎﺳﺦsys)اﺳﺖ ﺣﺎﻟﺖ ﻓﻀﺎی ﻓﺮم ﺑﻪ آن ﻣﻌﺎدﻻت ﮐﻪ(اوﻟﯿﻪ ﺷﺮاﯾﻂ ﺑﻪ راx0
ﮐﻨﺪ ﻣﯽ رﺳﻢ.ﺳﯿﺴﺘﻢsys،ﮔﺴﺴﺘﻪ ﯾﺎ ﭘﯿﻮﺳﺘﻪ ﺗﻮاﻧﺪ ﻣﯽSISOﯾﺎMIMO،ورودی ﺑﺎﺑﺎﺷﺪ ورودی ﺑﺪون ﯾﺎ.زﻣﺎﻧﯽ ﺑﺎزه
ﻋﻤﻠﮑﺮد ﮐﻪ ﺷﻮد ﻣﯽ ﺗﻌﯿﯿﻦ ﭼﻨﺎن ﺧﻮدﮐﺎر ﻃﻮر ﺑﻪ ﺳﺎزی ﺷﺒﯿﻪ ﻣﻨﺤﻨﯿﻬﺎی ﻧﻤﺎﯾﺶﭘﺎًﻼﮐﺎﻣ ﮔﺬرا ﺣﺎﻟﺖ در را ﺳﺨﻬﺎﻧﺸﺎن
دﻫﺪ.
دﺳﺘﻮر ﻧﺘﯿﺠﻪinitial(sys,xo,t)ﺑﺮای ﻣﻄﻠﻮب زﻣﺎﻧﯽ ﺑﺎزه اﯾﻨﺤﺎﻟﺖ در ﮐﻪ ﺗﻔﺎوت اﯾﻦ ﺑﺎ اﺳﺖ ﻗﺒﻞ ﺣﺎﻟﺖ ﻣﺎﻧﻨﺪ
ﺳﯿﺴ ﺷﺮاﯾﻂ ﻣﺤﺎﺳﺒﻪاﺳﺖ ﺷﺪه ﻣﺸﺨﺺ ﻧﯿﺰ ﺘﻢ.ﻣﯽاﻧﺘﺨﺎب ﺑﺎ ﺗﻮانt=Tfinalﯾﺎ ﮐﺮد ﻣﺸﺨﺺ را ﺳﺎزی ﺷﺒﯿﻪ اﻧﺘﻬﺎی ﻟﺤﻈﻪt
ﻧﻤﻮد ﺗﻌﺮﯾﻒ زﯾﺮ ﺑﺮدار ﺻﻮرت ﺑﻪ را:
t=0:dt:tfinal
:ﻣﺜﺎل t=0:0.1:10;
ﺷﺒﯿﻪ زﻣﺎﻧﯽ ﺑﺎزه ﺑﺮ ﻋﻼوه اﯾﻨﺤﺎﻟﺖ درﺳﺎزی)ﺻﻔﺮﺗﺎTfinal(اﺳﺖ ﺷﺪه ﻣﺸﺨﺺ ﻧﯿﺰ ﺳﺎزی ﺷﺒﯿﻪ ﮔﺎﻣﻬﺎی ،.ﺳﯿﺴ درﺘﻤﻬﺎی
، ﮔﺴﺴﺘﻪdtﺑﺎﺷﺪ ﻫﻤﺎﻫﻨﮓ ﺑﺮداری ﻧﻤﻮﻧﻪ زﻣﺎن ﺑﺎ ﺑﺎﯾﺪ.ﭘﯿﻮﺳﺘﻪ ﺳﯿﺴﺘﻤﻬﺎی درdtرﻓﺘﺎر ﺗﺎ ﺷﻮد اﺧﺘﯿﺎر ﮐﻮﭼﮏ آﻧﻘﺪر ﺑﺎﯾﺪ
ﮔﺮدد ﻣﺸﺨﺺ ﺧﻮﺑﯽ ﺑﻪ ﮔﺬرا ﺣﺎﻟﺖ.
ﺳﯿﺴﺘﻢ ﭼﻨﺪ ﭘﺎﺳﺨﻬﺎی ﻫﻤﺰﻣﺎن رﺳﻢ ﺑﺮایLTIرود ﻣﯽ ﮐﺎر ﺑﻪ زﯾﺮ دﺳﺘﻮرات ، اوﻟﯿﻪ ﺷﺮاﯾﻂ ﯾﮏ ﺑﻪ:
initial(sys1,sys2,...,sysN,x0)
initial(sys1,sys2,...,sysN,x0,t)
دﺳﺘﻮرات اﺟﺮای:
[y,t,x]=initial(sys,x0)
[y,t,x]=initial(sys,x0,t)
ﺷﺒﯿﻪ ﺧﺮوﺟﯽ ﻣﺎﺗﺮﯾﺲ ﺗﻮﻟﯿﺪ ﺑﻪ ﻣﻨﺠﺮ(y)،ﺳﺎزی ﺷﺒﯿﻪ زﻣﺎﻧﻬﺎی ﺑﺮدار(t)ﺳﯿﺴﺘﻢ ﺣﺎﻟﺖ ﻣﺴﯿﺮﻫﺎی ﻣﺎﺗﺮﯾﺲ و(x)ﻣﯽﺷﻮد.
اﯾﻨﺤﺎﻟﺖ درﺷﻮد ﻧﻤﯽ رﺳﻢ ﻣﻨﺤﻨﯽ ﻫﯿﭻ.ﻣﺎﺗﺮﯾﺲ ﺳﻄﺮﻫﺎی ﺗﻌﺪادyﺳﺎزی ﺷﺒﯿﻪ زﻣﺎﻧﻬﺎی ﺗﻌﺪاد ﺑﻪ)اﺑﻌﺎدt(ﺗﻌﺪاد و
- 21. 21
اﺳﺖ ﺳﯿﺴﺘﻢ ﺧﺮوﺟﯿﻬﺎی ﺗﻌﺪاد ﺑﻪ آن ﺳﺘﻮﻧﻬﺎی.ﻣﺎﺗﺮﯾﺲxﺗﻌﺪاد ﺑﻪ ﻧﯿﺰlength(t)ﺳﯿﺴﺘﻢ ﺣﺎﻟﺘﻬﺎی ﺗﻌﺪاد ﺑﻪ و ﺳﻄﺮ
دارد ﺳﺘﻮن.
•ﻣﺜﺎل:ﻧﻈ در زﯾﺮ ﻓﺮم ﺑﻪ را ﺳﯿﺴﺘﻢ ﺣﺎﻟﺖ ﻣﻌﺎدﻻتﮔﯿﺮﯾﻢ ﻣﯽ ﺮ:
[ ]
=
−−
=
•
•
2
1
2
1
2
1
4493.69691.1
07814.0
7814.05572.0
x
x
y
x
x
x
x
اوﻟﯿﻪ ﺷﺮاﯾﻂ ﺑﺎ ﺳﯿﺴﺘﻢ ﭘﺎﺳﺦ
=
0
1
0xاﺳﺖ ﺣﺼﻮل ﻗﺎﺑﻞ زﯾﺮ ﺑﺮﻧﺎﻣﮥ ﺗﻮﺳﻂ:
A = [-0.5572 -0.7814;0.7814 0];
C = [1.9691 6.4493];
x0 = [1 ; 0.5];
t1=0:0.1:10;
t2=0:1:10;
sys = ss(A,[],C,[]);
subplot(2,2,1);initial(sys,x0);
subplot(2,2,2);initial(sys,x0,t1);
subplot(2,2,3);initial(sys,x0,6.5);
subplot(2,2,4);initial(sys,x0,t2);
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرات:
impulse:ﺳﯿﺴﺘﻢ ﺿﺮﺑﻪ ﭘﺎﺳﺦ رﺳﻢ
lsim:دﻟﺨﻮاه ورودی ﻫﺮ ﺑﻪ ﺳﯿﺴﺘﻢ ﭘﺎﺳﺦ رﺳﻢ
step:ﺳﯿﺴﺘﻢ ﭘﻠﻪ ﭘﺎﺳﺦ رﺳﻢ
2-13-دﺳﺘﻮرkalman:
•ﻫﺪف:روﯾﺘﮕﺮ ﻃﺮاﺣﯽ)ﻓﯿﻠﺘﺮ(زﻣﺎن ﮔﺴﺴﺘﻪ و ﭘﯿﻮﺳﺘﻪ ﺳﯿﺴﺘﻤﻬﺎی ﺑﺮای ﮐﺎﻟﻤﻦ
•ﻧﮕﺎرش:
[kest,l,p]=kalman(sys,Qn,Rn,Nn)
[kest,l,p,m,z]=kalman(sys,Qn,Rn,Nn)
[kest,l,p]=kalman(sys,Qn,Rn,Nn,Sensors,Known)
)آﺧﺮ ﻣﻮردزﻣﺎن ﮔﺴﺴﺘﻪ ﺳﯿﺴﺘﻤﻬﺎی ﺑﺮای ﻓﻘﻂاﺳﺖ ﺻﺎدق(.
- 22. 22
•ﺗﻮﺿﯿﺤﺎت:
دﺳﺘﻮرkalmanرا ﮐﺎﻟﻤﻦ روﯾﺘﮕﺮ ،ﮔﯿﺮی اﻧﺪازه ﻧﻮﯾﺰ و ﺳﯿﺴﺘﻢ ﻧﻮﯾﺰ ﮐﻮارﯾﺎﻧﺲ ﻧﯿﺰ و ﺳﯿﺴﺘﻢ ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل درﯾﺎﻓﺖ ﺑﺎ
ﮐﻨﺪ ﻣﯽ ﻃﺮاﺣﯽ.
ﺳﯿﺴﺘﻢﺷﻮد ﻣﯽ ﮔﺮﻓﺘﻪ ﻧﻈﺮ در زﯾﺮ ﺣﺎﻟﺖ ﻣﻌﺎدﻻت ﺑﺎ:
vHwDuCxy
GwBuAxx
v +++=
++=
•
آن در ﮐﻪ u و ﻣﻌﯿﻦ ورودی w و v ﻧﻮﯾﺰﻫﺎی ﺗﺮﺗﯿﺐ ﺑﻪﺳاﻧﺪازه ﻔﯿﺪدارﯾﻢ و ﻫﺴﺘﻨﺪ ﻓﺮاﯾﻨﺪ و ﮔﯿﺮی:
NwvERvvEQwwE
vEwE
TTT
===
==
)(,)(,)(
0)()(
ﺗﺨﻤﯿﻦ ﯾﺎﻓﺘﻦ ﻫﺪف
^
xﮔﺮدد ﮐﻤﯿﻨﻪ ﻣﺎﻧﺪﮔﺎر ﺣﺎﻟﺖ ﺧﻄﺎی ﮐﻮارﯾﺎﻧﺲ ﭼﻨﺎﻧﮑﻪ اﺳﺖ ﺳﯿﺴﺘﻢ ﺣﺎﻟﺘﻬﺎی از:
)}}{({lim
^^
T
t
xxxxP −−=
∞→
ﺑﻬﯿﻨﻪ ﭘﺎﺳﺦ،ﺑﺎﺷﺪ ﻣﯽ زﯾﺮ ﺻﻮرت ﺑﻪ آن ﻣﻌﺎدﻻت ﮐﻪ اﺳﺖ ﮐﺎﻟﻤﻦ ﻓﯿﻠﺘﺮ:
u
D
x
I
C
x
y
DuxCyLBuxAx v
+
=
−−++=
•
0
)(
^
^
^
^^^
آن در ﮐﻪLﻣﯽ ﺣﺎﺻﻞ ﺟﺒﺮی رﯾﮑﺎﺗﯽ ﻣﻌﺎدﻟﻪ ﯾﮏ ﺣﻞ از و ﺑﻮده ﻓﯿﻠﺘﺮ ﺑﻬﺮهﺷﻮد.
دﺳﺘﻮر[kest,l,p]=kalman(sys,Qn,Rn,Nn)ﻣﮐﺎﻟﻤﻦ ﻓﯿﻠﺘﺮ ﺣﺎﻟﺖ ﻓﻀﺎی ﺪل(kest)دﻫﺪ ﻣﯽ ﻧﺘﯿﺠﻪ را.
Qn،RnوNnﺑﺎ ﺑﺎﻻ رواﺑﻂ در ﮐﻪ ﻫﺴﺘﻨﺪ ﻧﻮﯾﺰ ﮐﻮارﯾﺎﻧﺲQ،RوNاﻧﺪ ﺷﺪه ﻣﺸﺨﺺ.sysﺑﺎﯾﺪ ﮐﻪ اﺳﺖ ﺳﯿﺴﺘﻢ ﻣﺪل ﻧﯿﺰ
ﺷﻮد وارد زﯾﺮ ﺻﻮرت ﺑﻪ:
A,[B G], C, [D H]
ﺣﺎﺻﻞ روﯾﺘﮕﺮ(kest)ورودی دارایﻫﺎی[u;yv]ﺧﺮوﺟﯿﻬﺎی و
^^
; xyﻣﯽﺑﺎﺷﺪ.روﯾﺘﮕﺮ ﻣﻌﺎدﻟﻪ ﺑﺮ ﻋﻼوه دﺳﺘﻮر اﯾﻦ(kest)
روﯾﺘﮕﺮ ﺑﻬﺮه ﻣﻘﺪار ،Lﮐﻮارﯾﺎ ﻣﺎﺗﺮﯾﺲ ﻧﯿﺰ وﻣﺎﻧﺪﮔﺎر ﺧﻄﺎی ﻧﺲPدﻫﺪ ﻣﯽ اراﺋﻪ ﻧﯿﺰ را.
•ﻫﺎ ﻣﺤﺪودﯾﺖ:
ﮐﻪ ﻓﺮض اﯾﻦ ﺑﺎ:
)( NQHGN
HQHHNHNRR
GQGQ
T
TTT
T
+=
+++=
=
ﮐﻨﻨﺪ ارﺿﺎ را زﯾﺮ ﺷﺮاﯾﻂ ﺑﺎﯾﺪ ﻧﻮﯾﺰ و ﺳﯿﺴﺘﻢ:
1.(C,A)آﺷﮑﺎریﺑﺎﺷﺪ ﭘﺬﯾﺮ(detectable)
2.R>0و0
1
≥−
− T
NRNQ
3.),(
11 T
NRNQCRNA
−−
−−ﻧﺎﭘﺬﯾﺮ ﮐﻨﺘﺮل ﺣﺎﻟﺖ ﻫﯿﭻﺑﺎﺷﻨﺪ ﻧﺪاﺷﺘﻪ ﻣﻮﻫﻮﻣﯽ ﻣﺤﻮر روی ی.
- 23. 23
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرات:
care:ﭘﯿﻮﺳﺘﻪ ﺟﺒﺮی رﯾﮑﺎﺗﯽ ﻣﻌﺎدﻟﻪ ﺣﻞ
estim:روﯾﺘﮕﺮ ﺑﻬﺮه و ﺳﯿﺴﺘﻢ ﻣﻌﺎدﻻت روی از روﯾﺘﮕﺮ ﻣﻌﺎدﻻت ﺗﻬﯿﻪ
lqr:ﺣﺎﻟﺖ ﺑﯿﺪﺑﮏ رﮔﻮﻻﺗﻮر ﯾﮏ ﻃﺮاﺣﯽLQ
2-14-دﺳﺘﻮرLyap:
•ﻫﺪف:ﭘﯿﻮﺳﺘﻪ ﻟﯿﺎﭘﺎﻧﻮف ﻣﻌﺎدﻟﻪ ﺣﻞ–زﻣﺎن
•ﻧﮕﺎرش:
X=lyap(A,Q)
X=lyap(A,B,C)
•ﺗﻮﺿﯿﺤﺎت:دﺳﺘﻮرX=Lyap(A,Q)ﮐﻨﺪ ﻣﯽ ﺣﻞ را زﯾﺮ ﻟﯿﺎﭘﺎﻧﻮف ﻣﻌﺎدﻟﻪ:
AX+XAT
+Q=0
آن در ﮐﻪAوQﻫﺴﺘﻨﺪ ﻣﺮﺑﻌﯽ ﻣﺎﺗﺮﯾﺴﻬﺎی.ﻣﺎﺗﺮﯾﺲXاﮔﺮ اﺳﺖ ﻣﺘﻘﺎرنQﺑﺎﺷﺪ ﻣﺘﻘﺎرن.
دﺳﺘﻮرX=lyap(A,B,C)ﯾ ﺗﻌﻤﯿﻢ ﻟﯿﺎﭘﺎﻧﻮف ﻣﻌﺎدﻟﻪﮐﻨﺪ ﻣﯽ ﺣﻞ را ﺎﻓﺘﻪ.
AX+XB+C=0
آن در ﮐﻪAوBوCﻟﺰوﻣﺎ"ﻧﯿﺴﺘﻨﺪ ﻣﺮﺑﻌﯽاﺳﺖ ﺳﺎزﮔﺎر آﻧﻬﺎ اﺑﻌﺎد وﻟﯽ.
•ﻫﺎ ﻣﺤﺪودﯾﺖ:
اﮔﺮα1،α2،...وαnوﯾﮋه ﻣﻘﺎدﯾﺮAوβ1،β2،...وβnوﯾﮋه ﻣﻘﺎدﯾﺮBﭘﯿﻮﺳﺘﻪ ﻟﯿﺎﭘﺎﻧﻮف ﻣﻌﺎدﻟﻪ آﻧﮕﺎه ،ﺑﺎﺷﻨﺪﺑﻔﺮد ﻣﻨﺤﺼﺮ ﭘﺎﺳﺦ
دﻟﺨﻮاه زوج ﻫﺮ ﺑﺮای اﮔﺮ دارد(i,j)ﺑﺎﺷﯿﻢ داﺷﺘﻪ:
0≠+ ji βα
دﺳﺘﻮر ﻧﺒﺎﺷﺪ ﺑﺮﻗﺮار ﺷﺮاﯾﻂ اﯾﻦ ﭼﻨﺎﻧﭽﻪlyapﮐﻨﺪ ﻣﯽ ﺧﻄﺎ ﭘﯿﻐﺎم ﺗﻮﻟﯿﺪ:
Solution does not exits or is not uniqe
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرات:
دﺳﺘﻮرdlyapﮐﻨﺪ ﻣﯽ ﺣﻞ را ﮔﺴﺴﺘﻪ ﻟﯿﺎﭘﺎﻧﻮف ﻣﻌﺎدﻟﻪ.
2-15-دﺳﺘﻮرnull:
•ﻫﺪف:ﻣﺎﺗﺮﯾﺲ ﯾﮏ ﺗﻬﯽ ﻓﻀﺎی ﺗﻌﯿﯿﻦ
•ﻧﮕﺎرش:B=null(A)
•ﺗﻮﺿﯿﺤﺎت:دﺳﺘﻮرB=null(A)ﻣﺘﻌﺎﻣﺪ ﭘﺎﯾﻪ ﯾﮏﻣﺎﺗﺮﯾﺲ ﺗﻬﯽ ﻓﻀﺎی ﺑﺮای ﯾﮑﻪAﮐﻨﺪ ﻣﯽ اراﺋﻪ.
ﮐﻪ اﺳﺖ واﺿﺢ:IBBT
=ﺳﺘﻮﻧﻬﺎی ﺗﻌﺪاد وB،ﺗﻬﯽ ﻓﻀﺎی اﺑﻌﺎد1
Aدﻫﺪ ﻣﯽ را.
» A=[1 2 3;1 2 3;1 2 3]
A =
1 2 3
1 2 3
1 2 3
» null(A)
ans =
1
Nullity
- 24. 24
-0.1690 -0.9487
0.8452 0
-0.5071 0.3162
» null(A,'r')
ans =
-2 -3
1 0
0 1
2-16-دﺳﺘﻮرobsv:
•ﻫﺪف:ﭘﺬﯾﺮی روﯾﺖ ﻣﺎﺗﺮﯾﺲ ﻣﺤﺎﺳﺒﻪ
•ﻧﮕﺎرش:
Ob=obsv(A,C)
Ob=obsv(sys)
•ﺗﻮﺿﯿﺤﺎت:دﺳﺘﻮرobsvﮐﻨﺪ ﻣﯽ ﻣﺤﺎﺳﺒﻪ را ﺣﺎﻟﺖ ﻓﻀﺎی ﻧﻤﺎﯾﺶ ﺑﺎ ﺳﯿﺴﺘﻢ ﯾﮏ ﭘﺬﯾﺮی روﯾﺖ ﻣﺎﺗﺮﯾﺲ.اﮔﺮAﯾﮏ
ﻣﺎﺗﺮﯾﺲn*nوCﻣﺎﺗﺮﯾﺲ ﯾﮏp*nدﺳﺘﻮر ،ﺑﺎﺷﺪobsv(A,C)داد ﺧﻮاﻫﺪ ﻧﺘﯿﺠﻪ را زﯾﺮ ﭘﺬﯾﺮی روﯾﺖ ﻣﺎﺗﺮﯾﺲ:
[ ]Tn
CACACACOb 12 −
= L
دﺳﺘﻮر ﺑﺎ ﮐﻪ اﺳﺖ واﺿﺢrank[obsv(A,C)]روﯾﺖ ﺗﻮان ﻣﯽﮐﺮد ﺑﺮرﺳﯽ را ﺳﯿﺴﺘﻢ ﮐﺎﻣﻞ ﭘﺬﯾﺮی.
اﮔﺮsysدﺳﺘﻮر ، ﺑﺎﺷﺪ ﺳﯿﺴﺘﻢ ﯾﮏ ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪلobsv(sys)ﺧﻮاﻫﺪ ﻣﺤﺎﺳﺒﻪ را ﺳﯿﺴﺘﻢ ﭘﺬﯾﺮی روﯾﺖ ﻣﺎﺗﺮﯾﺲ ﻧﯿﺰ
ﮐﺮد.
اﺳﺖ ﻣﻌﺎدل زﯾﺮ دﺳﺘﻮر ﺑﺎ دﺳﺘﻮر اﯾﻦ:
Ob=obsv(sys.a,sys.b)
•ﻣﺜﺎل:اﺳﺖ ﻣﻔﺮوض زﯾﺮ ﺳﯿﺴﺘﻢ:
DuCxy
BuAxx
+=
+=
•
آن در ﮐﻪ:
=
−
=
10
01
,
24
11
BA
اﺳﺖ ﮐﺎﻣﻞ ﭘﺬﯾﺮ روﯾﺖ ﺳﯿﺴﺘﻢ اﯾﻦ ﮐﻪ دﻫﺪ ﻣﯽ ﻧﺸﺎن زﯾﺮ ﺑﺮﻧﺎﻣﻪ ﺗﮑﻪ.
» A=[1 1;4 -2];
» B=eye(2);
» C=[1 0];
» D=0;
» rank(obsv(A,C))
ans =
2
- 25. 25
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرﻫﺎی:
obsvf:ﮐﻨﺪ ﻣﯽ ﺟﺪا ﻫﻢ از را ﺳﯿﺴﺘﻢ ﻧﺎﭘﺬﯾﺮ روﯾﺖ و ﭘﺬﯾﺮ روﯾﺖ ﺣﺎﻟﺘﻬﺎی.
2-17-دﺳﺘﻮرobsvf:
•ﻫﺪف:ﺳﯿﺴﺘﻢ ﭘﺬﯾﺮ روﯾﺖ و ﻧﺎﭘﺬﯾﺮ روﯾﺖ ﺣﺎﻟﺘﻬﺎی ﮐﺮدن ﺟﺪا
•ﻧﮕﺎرش:
[Abar,Bbar,Cbar,T,k]=obsvf(A,B,C)
[Abar,Bbar,Cbar,T,k]=obsvf(A,B,C,tol)
•ﺗﻮﺿﯿﺤﺎت:ﮔﯿﺮﯾﻢ ﻣﯽ ﻧﻈﺮ در زﯾﺮ ﺻﻮرت ﺑﻪ را ﺳﯿﺴﺘﻢ ﺣﺎﻟﺖ ﻣﻌﺎدﻻت:
DuxCy
BuxAx
np
nn
+=
+=
×
×
•
روﯾﺖ ﻣﺎﺗﺮﯾﺲ رﺗﺒﻪ اﮔﺮﺳﯿﺴﺘﻢ ﭘﺬﯾﺮیrﺑﺎﺷﺪ)وr<n(ﻧﯿﺴﺖ ﮐﺎﻣﻞ ﭘﺬﯾﺮ روﯾﺖ ﺳﯿﺴﺘﻢ آﻧﮕﺎه.ﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞ ،اﯾﻨﺤﺎﻟﺖ درT
ﮐﻪ دارد وﺟﻮدunitaryروﯾﺖ ﺣﺎﻟﺘﻬﺎی و اﺳﺖروﯾﺖ و ﭘﺬﯾﺮﻧﺎﭘﺬﯾﺮﮐﻨﺪ ﻣﯽ ﺟﺪا ﻫﻢ از را ﺳﯿﺴﺘﻢ.
TT
CTCTBBTATA === ,,
ﺗﺒﺪﯾﻞ اﯾﻦ اﻋﻤﺎل ﺑﺎ،روﯾﺖ ﺣﺎﻟﺘﻬﺎیﺑﺎﻻ ﮔﻮﺷﻪ در ﺳﯿﺴﺘﻢ ﻧﺎﭘﺬﯾﺮ-ﭼﭗﻣﺎﺗﺮﯾﺲAﮔﯿﺮﻧﺪ ﻣﯽ ﻗﺮار:
[ ]o
o
nono
CC
B
B
B
A
AA
A 0,,
0 0
12
=
=
=
زوج ﺗﺮﺗﯿﺐ اﯾﻦ ﺑﻪ[Abar,Bbar,Cbar,k]=obsvf(A,B,C)روﯾﺖوﯾﮋه ﻣﻘﺎدﯾﺮ و اﺳﺖ ﮐﺎﻣﻞ ﭘﺬﯾﺮAnoﺣﺎﻟﺘﻬﺎی
ﻫﺴﺘﻨﺪ ﺳﯿﺴﺘﻢ ﻧﺎﭘﺬﯾﺮ روﯾﺖ.
دﺳﺘﻮر[Abar,Bbar,Cbar,T,k]=obsvf(A,B,C)ﻫﺎی ﻣﺎﺗﺮﯾﺲAوBوCﻗﺒﻼ ﮐﻪ ﻧﺤﻮی ﺑﻪ را"ﺷﺪ ﮔﻔﺘﻪ
ﮐﻨﺪ ﻣﯽ ﺗﻮﻟﯿﺪ.Tﮐﻨﺘﺮل ﺣﺎﻟﺘﻬﺎی ﮐﺮدن ﺟﺪا ﺑﺮای ﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞ ﻧﯿﺰﮐﻨﺘﺮل و ﭘﺬﯾﺮاﺳﺖ ﻧﺎﭘﺬﯾﺮ.kﺑﺮدار ﯾﮏnاﺳﺖ ﻋﻀﻮی)n
اﺑﻌﺎدAاﺳﺖ(ﻫ وﻧﮕﺎﺷﺖ ﻣﺎﺗﺮﯾﺲ ﻣﺤﺎﺳﺒﻪ ﺑﺮای ﺗﮑﺮار ﻣﺮﺗﺒﻪ ﻫﺮ در ﮐﻪ دﻫﺪ ﻣﯽ ﻧﺸﺎن آن ﻋﻀﻮ ﺮTروﯾﺖ ﺣﺎﻟﺖ ﭼﻨﺪ ،ﭘﺬﯾﺮ
اﺳﺖ ﺷﺪه ﺟﺪا.
ﻧﺘﯿﺠﻪ درsum(k)ﺣﺎﻟﺘﻬﺎی ﺗﻌﺪادAoراداد ﺧﻮاﻫﺪ ﻧﺸﺎن.دﺳﺘﻮر ﺑﺎobsvf(A,B,C,tol)اﻧﺠﺎم ﺗﻠﺮاﻧﺲ ﺗﻮان ﻣﯽ
ﻧﯿﺰ را ﻧﺎﭘﺬﯾﺮ روﯾﺖ و ﭘﺬﯾﺮ روﯾﺖ ﻓﻀﺎﻫﺎی ﺗﻌﯿﯿﻦ و ﻣﺤﺎﺳﺒﺎتﺗﻌﯿﯿﻦﮐﺮد.
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرات:
obsv:ﭘﺬﯾﺮی روﯾﺖ ﻣﺎﺗﺮﯾﺲ ﻣﺤﺎﺳﺒﻪ
2-18-دﺳﺘﻮرplace:
•ﻫﺪف:ورودی ﭼﻨﺪ ﻫﺎی ﺳﯿﺴﺘﻢ ﺑﺮای ﻗﻄﺐ ﺟﺎﯾﺎب ﻃﺮاﺣﯽ
•ﻧﮕﺎرش:
K=place(A,B,P)
[K,prec,message]=place(A,B,P)
•ﺗﻮﺿﯿﺤﺎت:
ورودی ﭼﻨﺪ ﺳﯿﺴﺘﻢ)ورودی ﺗﮏ ﯾﺎ(اﺳﺖ ﻣﻔﺮوض زﯾﺮ:
BuAxx +=
•
- 26. 26
ﻣﯽ ﻓﺮضﺷﻮﺑﺮدار ﮐﻪ دPﺣﺑﺎﺷﺪ ﺑﺴﺘﻪ ﺣﻠﻘﻪ ﺳﯿﺴﺘﻢ ﺑﺮای ﻣﻄﻠﻮب ﻗﻄﺒﻬﺎی ﻣﺤﻞ ﺎوی1
.دﺳﺘﻮرK=place(A,B,P)
ﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ ﻣﺎﺗﺮﯾﺲKﻗﺎﻧﻮن ﮐﻪ ﮐﻨﺪ ﻣﯽ ﻃﺮاﺣﯽ ﭼﻨﺎن راu=-Kxﻣﺸﺨﺺ ﻣﺤﻠﻬﺎی در را ﺑﺴﺘﻪ ﺣﻠﻘﻪ ﺳﯿﺴﺘﻢ ﻗﻄﺒﻬﺎی
ﺑﺮدار در ﺷﺪهPدﻫﺪ ﻗﺮار.ﻣﺎ ورودی ﭼﻨﺪ ﺳﯿﺴﺘﻤﻬﺎی در ﮐﻪ اﺳﺖ واﺿﺢﺗﺮﯾﺲKﻧﯿﺴﺖ ﺑﻔﺮد ﻣﻨﺤﺼﺮ.دﺳﺘﻮرplaceاز
در اﻏﺘﺸﺎﺷﺎت ﺑﺮاﺑﺮ در را ﺑﺴﺘﻪ ﺣﻠﻘﻪ ﺳﯿﺴﺘﻢ ﺣﺴﺎﺳﯿﺖ ﮐﻪ ﮐﻨﺪ ﻣﯽ اﺳﺘﻔﺎده اﻟﮕﻮرﯾﺘﻤﻬﺎﯾﯽAوBدﻫﺪ ﻣﯽ ﮐﺎﻫﺶ2
.
دﺳﺘﻮر[K,prec,message]=place(A,B,P)ﺗﻌﯿﯿﻦ ﺑﺮ ﻋﻼوهK،Precﮐﻪ دﻫﺪ ﻣﯽ ﻧﺸﺎن ﮐﻪ ﮔﺮداﻧﺪ ﻣﯽ ﺑﺮ را
ﺑﺴﺘﻪ ﺣﻠﻘﻪ ﺳﯿﺴﺘﻢ ﻗﻄﺒﻬﺎیدر ﺷﺪه ﺗﻌﯿﯿﻦ ﻣﺤﻠﻬﺎی ﺑﻪ اﻧﺪازه ﭼﻪ ﺗﺎPﻫﺴﺘﻨﺪ ﻧﺰدﯾﮏ.Precًﺎدﻗﯿﻘ ﮐﻪ را ﻗﻄﺒﻬﺎﯾﯽ ﺗﻌﺪاددر
در ﺷﺪه ﺗﻌﯿﯿﻦ ﻣﺤﻠﻬﺎیPدﻫﺪ ﻣﯽ ﻧﺸﺎن اﻧﺪ ﮔﺮﻓﺘﻪ ﻗﺮار.از ﺑﯿﺶ ﺑﺴﺘﻪ ﺣﻠﻘﻪ ﺳﯿﺴﺘﻢ ﻗﻄﺒﻬﺎی از ﯾﮑﯽ اﮔﺮ ﺑﻌﻼوه10%از
در ﻫﺸﺪار ﭘﯿﻐﺎم ﯾﮏ ،ﺑﺎﺷﺪ دور ﻣﻄﻠﻮب ﻣﺤﻠﻬﺎیmessageﻣﯿﺸﻮد ﺻﺎدر.
ﺑﺎدﺳﺘﻮر از اﺳﺘﻔﺎدهplaceﮐﺮد ﻣﺤﺎﺳﺒﻪ زﯾﺮ ﺻﻮرت ﺑﻪ را روﯾﺘﮕﺮ ﺑﻬﺮه ﻣﺎﺗﺮﯾﺲ ﺗﻮان ﻣﯽ:
L=place(A’,C’,P)’
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرات:
acker:ورودی ﺗﮏ ﺳﯿﺴﺘﻤﻬﺎی ﺑﺮای آﮐﺮﻣﻦ ﻓﺮﻣﻮل از اﺳﺘﻔﺎده ﺑﺎ ﻗﻄﺐ ﺟﺎﯾﺎﺑﯽ
2-19-دﺳﺘﻮرss:
•ﻫﺪف:ﻣﺪل ﯾﮏ ﺗﺒﺪﯾﻞ ﯾﺎ ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل ﺗﻌﺮﯾﻒLTIﺣﺎﻟ ﻓﻀﺎی ﺑﻪﺖ
•ﻧﮕﺎرش:
sys=ss(A,B,C,D);
sys=ss(d);
sys=ss(A,B,C,D,ltisys);
sys=ss(A,B,C,D,’property1’,value1,…,’propertyN’,valueN);
sys_ss=ss(sys)
sys_ss=ss(sys,’minimal’)
•ﺗﻮﺿﯿﺤﺎت:دﺳﺘﻮرssﺻﻔﺮ ﻣﺪل ﯾﺎ ﺗﺒﺪﯾﻞ ﺗﺎﺑﻊ ﻣﺪل ﯾﮏ ﺗﺒﺪﯾﻞ ﯾﺎ ﺣﺎﻟﺖ ﻓﻀﺎی ﻓﺮم ﺑﻪ ﺳﯿﺴﺘﻢ ﻧﻤﺎﯾﺶ ﺑﺮای-ﻗﻄﺐ-
رود ﻣﯽ ﮐﺎر ﺑﻪ ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل ﺑﻪ ﺑﻬﺮه.
دﺳﺘﻮرSYS=ss(A,B,C,D)ﮐﻨﺪ ﻣﯽ ﺗﻮﻟﯿﺪ زﯾﺮ ﭘﯿﻮﺳﺘﻪ زﻣﺎن ﺳﯿﺴﺘﻢ ﺑﺮای ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل:
DuCxy
BuAxx
+=
+=
•
اﮔﺮD=0ﺻﻔﺮ اﺳﮑﺎﻟﺮ ﺻﻮرت ﺑﻪ آن ﻣﻘﺪار ﮐﺎﻓﯿﺴﺖ ﺑﺎﺷﺪ)آن اﺑﻌﺎد ﺑﻪ ﺗﻮﺟﻪ ﺑﺪون(ﺷﻮد وارد.
دﺳﺘﻮرsys=ss(d)ﺑ ﻣﺎﺗﺮﯾﺲ ﺑﺎ ﺳﯿﺴﺘﻢﺛﺎﺑﺖ ﻬﺮهdﺑﺎ اﺳﺖ ﻣﻌﺎدل و دﻫﺪ ﻣﯽ ﻧﻤﺎﯾﺶ را:
sys=ss([],[],[],d);
دﺳﺘﻮرsys=ss(A,B,C,D,ltisys)در ﺷﺪه ﻣﺸﺨﺺ وﯾﮋﮔﯽ ﺑﻪ ﺗﻮﺟﻪ ﺑﺎ ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل ﯾﮏltisysﺗﻮﻟﯿﺪ
ﮐﻨﺪ ﻣﯽ.ﻣﻮ از ﯾﮑﯽ ﺗﻮاﻧﺪ ﻣﯽ وﯾﮋﮔﯽ اﯾﻦ.ﺑﺎﺷﺪ زﯾﺮ ﺟﺪول در ﺷﺪه ذﮐﺮ ارد:
وﯾﮋﮔﯽ ﻧﻮعوﯾﮋﮔﯽ ﻣﻌﺮﻓﯽوﯾﮋﮔﯽ ﻧﺎم
1
ﺳﯿﺴ ﻗﻄﺒﻬﺎیوﯾﮋه ﻣﻘﺎدﯾﺮ ﻫﻤﺎن ﺑﺴﺘﻪ ﺣﻠﻘﻪ ﺘﻢA-BKﻫﺴﺘﻨﺪ.
2
اﻧﺪ ﺷﺪه اﻗﺘﺒﺎس زﯾﺮ ﻣﺮﺟﻊ از اﻟﮕﻮرﯾﺘﻤﻬﺎ اﯾﻦ:
Kautsky,J. and N.K.Nichols, "Robust Pole Assignment in Linear State Feedback", Int.J.Control, 41 (1985) , pp.1129-1155
- 27. 27
ﻣﺎﺗﺮﯾﺲورودی ﺗﺄﺧﯿﺮﻫﺎی/ﺧﺮوﺟﯽIoDelayMatrix
ﺑﺮدارورودی در ﺗﺄﺧﯿﺮInputDelay
Cell arrayورودی ﮐﺎﻧﺎﻟﻬﺎی ﮔﺮوهInputGroup
Cell vector of stringورودی ﮐﺎﻧﺎﻟﻬﺎی اﺳﺎﻣﯽInputName
Textﻣﺪل ﻣﻌﺮﻓﯽ ﺑﺮای ﯾﺎدداﺷﺘﻬﺎNotes
ﺑﺮدارﺧﺮوﺟﯽ ﺗﺄﺧﯿﺮﻫﺎیOutputDelay
Cell arrayﮔﺮوﺧﺮوﺟﯽ ﮐﺎﻧﺎﻟﻬﺎی هOutputGroup
Cell vector of stringsﺧﺮوﺟﯽ ﮐﺎﻧﺎﻟﻬﺎی اﺳﺎﻣﯽOutputName
اﺳﮑﺎﻟﺮﻧﻤﻮﻧﻪ زﻣﺎنﺑﺮداریTs
دﻟﺨﻮاهاﺿﺎﻓﯽ اﻃﻼﻋﺎتUserData
ﺷﻮد ﻣﯽ داده ﺗﻮﺿﯿﺢ اﺧﺘﺼﺎر ﺑﻪ وﯾﮋﮔﯿﻬﺎ اﯾﻦ از ﯾﮏ ﻫﺮ:
1.ﺑﺮداری ﻧﻤﻮﻧﻪ زﻣﺎنTs)ﺛﺎﻧﯿﻪ ﺑﺮﺣﺴﺐ(ﺣﺎﻟ ﻓﻀﺎی ﻣﺪل ﺗﻌﺮﯾﻒ ﺑﺮایزﻣﺎن ﺳﯿﺴﺘﻤﻬﺎی ﺖ-ﻣﯽ ﮐﺎر ﺑﻪ ﮔﺴﺴﺘﻪ
رود.Ts=0زﻣﺎن ﺳﯿﺴﺘﻢ-و ﭘﯿﻮﺳﺘﻪTs=-1اﺳﺖ ﻧﺎﻣﻌﻠﻮم ﺑﺮداری ﻧﻤﻮﻧﻪ زﻣﺎن ﺑﺎ ﮔﺴﺴﺘﻪ زﻣﺎن ﺳﯿﺴﺘﻢ ﻣﻌﺮف.
2.وﯾﮋﮔﯽInputDelay،OutputDelayوIoDelayMatrixرا ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪﻟﻬﺎی در ﺗﺎﺧﯿﺮ ﮐﺮدن وارد اﻣﮑﺎن
اﯾﻦ ﻓﺮض ﭘﯿﺶ ﻣﻘﺎدﯾﺮ و ﮐﻨﺪ ﻣﯽ اﯾﺠﺎداﺳﺖ ﺻﻔﺮ وﯾﮋﮔﯿﻬﺎ)ﺗﺎﺧﯿﺮ ﺑﺪون(
3.ﻫﺎی وﯾﮋﮔﯽInputNameوOutputNameﻧ اﻣﮑﺎنﺎدﻫﺪ ﻣﯽ ﮐﺎرﺑﺮ ﺑﻪ را ﺧﺮوﺟﯿﻬﺎ و ورودﯾﻬﺎ ﺗﮏ ﺗﮏ ﻣﮕﺬاری.
4.InputGroupوOutputGroupدﻫﺪ ﻣﯽ ﻧﻮﯾﺲ ﺑﺮﻧﺎﻣﻪ ﺑﻪ را ﺳﯿﺴﺘﻢ ﺧﺮوﺟﯿﻬﺎی و ورودﯾﻬﺎ ﺑﻨﺪی ﮔﺮوه اﻣﮑﺎن.ﺑﻪ
ﺳﯿﺴﺘﻢ ﯾﮏ در ﻣﺜﺎل ﻋﻨﻮان5ﺑﺮﻧﺎﻣﻪ ،ورودیﻣﯽ ﻧﻮﯾﺲﺗﻮاﻧﺪ3ﮔﺮوه در را ورودیcontrolو2در را ورودی
ﮔﺮوهnoiseدﻫﺪ ﻗﺮار.
5.وﯾﮋﮔﯿﻬﺎیNotesوUser dataاﻧﺪ ﺷﺪه ﮔﺮﻓﺘﻪ ﻧﻈﺮ در ﻧﻮﯾﺲ ﺑﺮﻧﺎﻣﻪ ﺗﻮﺳﻂ اﺿﺎﻓﯽ ﻣﻮارد ﺗﻌﺮﯾﻒ ﺑﺮای ﻧﯿﺰ.Notes
ﯾﮏ ﺗﻨﻬﺎtextًﻻﻣﻌﻤﻮ و ﺑﻮدهاﺳﺖ ﺳﯿﺴﺘﻢ درﺑﺎره ﺗﻮﺿﯿﺤﺎﺗﯽ ﺣﺎوی.وﯾﮋﮔﯽ درUser dataﺗﻮاﻧﺪ ﻣﯽ ﻧﻮﯾﺲ ﺑﺮﻧﺎﻣﻪ
ﮐﻨﺪ ﺗﻌﺮﯾﻒ را ﺧﻮد ﻧﻈﺮ ﻣﻮرد ﻫﺎی داده.
ﺷﺪ ﺧﻮاﻫﺪ ﻣﺸﺨﺺ وﯾﮋﮔﯿﻬﺎ اﯾﻦ ﺑﻪ دﻫﯽ ﻣﻘﺪار ﻣﻘﺪار ﻧﺤﻮه ،ﺷﺪه ذﮐﺮ دﺳﺘﻮراﻟﻌﻤﻠﻬﺎی اﯾﻦ اﻧﺘﻬﺎی در ﮐﻪ ﻣﺜﺎﻟﻬﺎﯾﯽ در.
دﺳﺘﻮرsys_ss=ss(sys)ﻣﺪلsys،دﺳﺘﻮرات ﺗﻮﺳﻂ ﺷﺪه ﺗﻮﻟﯿﺪtfوzpkﻣﺪل ﺑﻪ راsys_ssﺣﺎﻟﺖ ﻓﻀﺎی در
ﮐﻨﺪ ﻣﯽ ﺗﺒﺪﯾﻞ.ﺷﻮد ﻣﯽ ﮔﻔﺘﻪ ﺣﺎﻟﺖ ﻓﻀﺎی ﺗﺤﻘﻖ ﻋﻤﻠﯿﺎت اﯾﻦ ﺑﻪ.
دﺳﺘﻮرsys_ss=ss(sys,’minimal’)ﺳﯿﺴﺘﻢ از ﺣﺎﻟﺖ ﻓﻀﺎی ﺗﺤﻘﻖ ﯾﮏsysآن در ﮐﻪ دﻫﺪ ﻣﯽ اراﺋﻪ ﭼﻨﺎن را
ﻧﺒﺎﺷﺪ ﻣﻮﺟﻮد ﻧﺎﭘﺬﯾﺮی ﮐﻨﺘﺮل ﯾﺎ ﻧﺎﭘﺬﯾﺮ روﯾﺖ ﺣﺎﻟﺖ ﻫﯿﭻ.
اﺳﺖ ﻣﻌﺎدل زﯾﺮ دﺳﺘﻮر ﺑﺎ دﺳﺘﻮر اﯾﻦ:
sys_ss=mineral(ss(sys))
ﻣﺜﺎل1:ورودی ﺗﮏ ﺳﯿﺴﺘﻢ/ﮔﯿﺮﯾﻢ ﻣﯽ ﻧﻈﺮ در ا ر زﯾﺮ دار ﺗﺎﺧﯿﺮ ﺧﺮوﺟﯽ ﺗﮏ:
زﯾﺮ دﺳﺘﻮراتplantﮐﻨﺪ ﻣﯽ ﻣﻌﺮﻓﯽ ﺣﺎﻟﺖ ﻓﻀﺎی در را:
» sys=tf(1,[1 1]);
» sys_ss=ss(sys);
ﺑﻪ ﺗﺎﺧﯿﺮ اﻓﺰودن ﺑﺮایplant،وﯾﮋﮔﯽInput Delayﮐﻨﯿﻢ ﻣﯽ دﻫﯽ ﻣﻘﺪار را.اﯾﻨﮑﺎردﺳﺘﻮر ﺑﺎsetﺷﻮد ﻣﯽ اﻧﺠﺎم:
- 28. 28
» set(sys_ss,’InputDelay’,0.3);
ﻣ ﮐﺎر ﺑﻪ را زﯾﺮ دﺳﺘﻮر آن ﺑﻪ ﯾﺎدداﺷﺖ ﯾﮏ اﻓﺰودن ﻧﯿﺰ و ﺳﯿﺴﺘﻢ ﺧﺮوﺟﯽ و ورودی ﻧﺎﻣﮕﺬاری ﺑﺮایﯽﺑﺮﯾﻢ:
»set(sys_ss,’InputName’,’energy’,Outputname’,’temprature’,’Notes’,’A
Sample Heater Mode’)
اﯾﻦ ﺑﻪﺗﺮﺗﯿﺐsys_ssﺧﻮﺑﯽ ﺑﻪ آن ﭘﻠﻪ ﭘﺎﺳﺦ رﺳﻢ و اﺳﺖ دار ﺗﺎﺧﯿﺮ ﺳﯿﺴﺘﻢ ﺑﺮای ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل واﻗﻊ در3/0ﺛﺎﻧﯿﻪ
ﮐﺮد ﺧﻮاﻫﺪ ﻣﺸﺨﺺ ﭘﺎﺳﺦ اﺑﺘﺪای در را ﻣﺮده زﻣﺎن.
دﺳﺘﻮر ﺷﻮد آﮔﺎه ﺳﯿﺴﺘﻢ ﺷﺪه ﺗﻨﻈﯿﻢ وﯾﮋﮔﯿﻬﺎی از ﯾﮑﯽ ﻓﻌﻠﯽ ﻣﻘﺪار از ﺑﺨﻮاﻫﺪ ﻧﻮﯾﺲ ﺑﺮﻧﺎﻣﻪ ﻟﺤﻈﻪ ﻫﺮ در ﭼﻨﺎﻧﭽﻪgetﻣﻮرد
ﻗﺮا اﺳﺘﻔﺎدهﮔﯿﺮد ﻣﯽ ر.ﻗﺒﻞ ﺳﯿﺴﺘﻢ در ﻣﺜﺎل ﻋﻨﻮان ﺑﻪ:
» get(sys_ss,’InputDelay’)
ans=
0.3000
اﺳﺖ اﻣﮑﺎﻧﭙﺬﯾﺮ ﻧﯿﺰ زﯾﺮ ﺻﻮرت ﺑﻪ دﺳﺘﺮﺳﯽ اﯾﻦ:
» sys_ss.InputDelay
ans=
0.3000
ﻣﺜﺎل2:
ﻣﺘﻐﯿﺮ در ﺳﯿﺴﺘﻢ ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل ﻗﺮاردادن ﺑﺮ ﻋﻼوه زﯾﺮ ﺑﺮﻧﺎﻣﻪsystemو ﺣﺎﻟﺘﻬﺎ ،ﻧﺎﻣﮕﺬاری ﻧﯿﺰ را ﺳﯿﺴﺘﻢ ﺧﺮوﺟﯿﻬﺎی
ﮐﻨﺪ ﻣﯽ.
A=[0 1;-1 -2];
B=[1;1];
C=[1 0;0 2];
D=0;
system=ss(A,B,C,D,'statename',{'position' 'velocity'},…
'Outputname',{'out1';'out2'});
2-20-دﺳﺘﻮرssdata:
•ﻫﺪف:ﻣﺎﺗﺮﯾﺴﻬﺎی ﺑﻪ دﺳﺘﺮﺳﯽA،B،CوDﻣﺪل روی از ﺣﺎﻟﺖ ﻓﻀﺎیﺳﯿﺴﺘﻢ
•ﻧﮕﺎرش:[A,B,C,D]= ssdata (SYS)ﭘﯿﻮﺳﺘﻪ زﻣﺎن ﺳﯿﺴﺘﻤﻬﺎی
[A,B,C,D,Ts]=ssdata(SYS)ﮔﺴﺴﺘﻪ زﻣﺎن ﺳﯿﺴﺘﻤﻬﺎی
•ﺗﻮﺿﯿﺤﺎت:
ﻗﻄﺐ ﯾﺎ ﺗﺒﺪﯾﻞ ﺗﺎﺑﻊ ﻓﺮم ﺑﻪ ﺳﯿﺴﺘﻢ ﻣﺪل ﭼﻨﺎﻧﭽﻪ/ﺻﻔﺮ/ﺗﺒﺪﯾﻞ ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل ﺑﻪ را آن اﺑﺘﺪا دﺳﺘﻮر اﯾﻦ ، ﺑﺎﺷﺪ ﺑﻬﺮهﻣﺮده
ﺳﭙﺲ ،AوBوCوDﮐﻨﺪ ﻣﯽ اﺳﺘﺨﺮاج را.
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرﻫﺎی:
ss:ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل ﺗﻌﺮﯾﻒ
2-21-دﺳﺘﻮرss2ss:
•ﻫﺪف:ﺣﺎﻟﺖ ﻣﺤﻮرﻫﺎی ﺗﺒﺪﯾﻞ1
ﺣﺎﻟﺖ ﻓﻀﺎی ﻧﻤﺎﯾﺶ در)ﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞ اﻋﻤﺎل(
1
State Coordinates
- 29. 29
•ﻧﮕﺎرش:SYST=ss2ss(SYS,T)
•ﺗﻮﺿﯿﺤﺎت:ﺳﯿﺴﺘﻢSYSﻓﻀﺎی ﻧﻤﺎﯾﺶ ﺑﺎاﺳﺖ ﻣﻔﺮوض زﯾﺮ ﺣﺎﻟﺖ:
DuCxy
BuAxx
+=
+=
•
دﺳﺘﻮرss2ssﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞTxx =ﺑﺮدار روی راxﺳﯿﺴﺘﻢ و ﮐﻨﺪ ﻣﯽ اﻋﻤﺎلSYSTرا زﯾﺮ ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل ﺑﺎ
دﻫﺪ ﻣﯽ ﻧﺘﯿﺠﻪ.
DuxCTy
TBuxTATx
+=
+=
−
−
•
1
1
دﺳﺘﻮرSYST= ss2ss (SYS,T)ﺳﯿﺴﺘﻢ درﯾﺎﻓﺖ ﺑﺎSYSﺗﺒﺪﯾﻞ وﺗﺸﺎﺑﻬﯽTﻣﻌﺎدل ﺳﯿﺴﺘﻢSYSTﻣﯽ ﻣﺤﺎﺳﺒﻪ را
ﮐﻨﺪ.ﻣﺎﺗﺮﯾﺲTﺑﺎﺷﺪ ﭘﺬﯾﺮ وارون ﺑﺎﯾﺪ.
•دﺳﺘﻮرﻫﺎیﻣﺮﺗﺒﻂ:
canon:ﺣﺎﻟﺖ ﻓﻀﺎی در ﮐﺎﻧﻮﻧﯿﮑﺎل ﺗﺤﻘﻖ
2-22-دﺳﺘﻮرss2tf:
•ﻫﺪف:ﺗﺒﺪﯾﻞ ﺗﺎﺑﻊ ﺑﻪ ﺳﯿﺴﺘﻢ ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل ﺗﺒﺪﯾﻞ
•ﻧﮕﺎرش:[Num,Den]=ss2tf(A,B,C,D,iu)
•ﺗﻮﺿﯿﺤﺎت:ﺗ ﺗﺎﺑﻊﺳﯿﺴﺘﻢ ﺒﺪﯾﻞ
DuCxy
BuAxx
+=
+=
•
ﺑﻪ ﻧﺴﺒﺖ راiuﮐﻨﺪ ﻣﯽ ﻣﺤﺎﺳﺒﻪ ورودی اﻣﯿﻦ.اﺳﺖ زﯾﺮ راﺑﻄﻪ ﻃﺒﻖ ﺗﺒﺪﯾﻞ ﺗﺎﺑﻊ ﻣﺤﺎﺳﺒﻪ:
DBAsIC
sDen
sNum
sH +−== −1
)(
)(
)(
)(
ﺑﺮدارDenﻧﺰوﻟﯽ ﺗﻮاﻧﻬﺎی ﺣﺴﺐ ﺑﺮ ﺗﺒﺪﯾﻞ ﺗﺎﺑﻊ ﻣﺨﺮج ﺿﺮاﯾﺐ ﺣﺎویsاﺳﺖ.ﻣﺎﺗﺮﯾﺲ ﺳﻄﺮﻫﺎی ﺗﻌﺪادNumﺗﻌﺪاد ﺑﺎ ﺑﺮاﺑﺮ
ﺳﯿﺴﺘﻢ ﺧﺮوﺟﯿﻬﺎیاﺳﺖ ﻣﺘﻨﺎﻇﺮ ﺧﺮوﺟﯽ ﺗﺒﺪﯾﻞ ﺗﺎﺑﻊ ﺻﻮرت ﺑﻪ ﺳﻄﺮ ﻫﺮ و اﺳﺖ.
•ﻣﺮﺗﺒﻂ دﺳﺘﻮرﻫﺎی:
tf2ss:ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل ﺑﻪ ﺳﯿﺴﺘﻢ ﺗﺒﺪﯾﻞ ﺗﺎﺑﻊ ﺗﺒﺪﯾﻞ
ss2ss:ﺳﯿﺴﺘﻢ روی ﺗﺸﺎﺑﻬﯽ ﺗﺒﺪﯾﻞ اﻧﺠﺎم
2-23-دﺳﺘﻮرtf2ss:
•ﻫﺪف:ﺳﯿﺴﺘﻢ ﺗﺒﺪﯾﻞ ﺗﺎﺑﻊ روی از ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل آوردن ﺑﺪﺳﺖ
•ﻧﮕﺎرش:[A,B,C,D]=tf2ss(Num,Den)
•ﺗﻮﺿﯿﺤﺎت:
ﮐﻨﺪ ﻣﯽ ﺗﺒﺪﯾﻞ زﯾﺮ ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل ﺻﻮرت ﺑﻪ را ﺳﯿﺴﺘﻢ ﺗﺒﺪﯾﻞ ﺗﺎﺑﻊ.
DuCxy
BuAxx
+=
+=
•
ﺑﺎﺷﺪ ﻣﯽ ﮐﻨﺘﺮﻟﺮ ﮐﺎﻧﻮﻧﯿﮑﺎل ﻓﺮم ﺑﻪ ﺣﺎﻟﺖ ﻓﻀﺎی ﻣﺪل.
- 32. 32
3-1-ﻏﯿﺮﺧﻄﯽ ﺳﯿﺴﺘﻢ ﭘﺎﺳﺨﻬﺎی رﺳﻢ)ﻣﺜﺎل5-3(
ﻣﺜﺎل در5-3ﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ ،ﻣﻌﮑﻮس آوﻧﮓ ﺷﺪۀ ﺧﻄﯽ ﻣﺪل ﺑﺮای
ke=[-1.91 -4.262 -45.49 -15.64]در ﺑﺴﺘﻪ ﺣﻠﻘﻪ ﺳﯿﺴﺘﻢ ﻗﻄﺒﻬﺎی ﺗﺎ ﮔﺮدﯾﺪ ﻃﺮاﺣﯽ
[-1,-2,-2.5,-3]ﮔﯿﺮﻧﺪ ﻗﺮار.ﻋﻤﻠﮑﺮد ﺑﺮرﺳﯽ ﺑﺮای اﻣﺎﻏﯿﺮﺧﻄﯽ ﺳﯿﺴﺘﻢ ﺑﺮروی را آن ﺑﺎﯾﺪ ﺣﺎﻟﺖ ﻓﯿﺪﺑﮏ اﯾﻦ
آزﻣﻮد.ﻫﺴﺘﯿﻢ ﻏﯿﺮﺧﻄﯽ دﯾﻔﺮاﻧﺴﯿﻞ ﻣﻌﺎدﻻت ﺣﻞ ﻧﯿﺎزﻣﻨﺪ ﻣﻨﻈﻮر اﯾﻦ ﺑﻪ.اﻓﺰار ﻧﺮم در اﯾﻨﮑﺎرMatlabﺑﺎ ًﻻﻣﻌﻤﻮ
دﺳﺘﻮرﻫﺎی1
ODEﻣﯽ اﻧﺠﺎمﮔﯿﺮد.اﺳﺖ ﺷﺪه ﺑﺮرﺳﯽ ﻣﻌﺎدﻻت ﻧﻮع اﯾﻦ ﺣﻞ ﺷﯿﻮۀ ،ﺗﻔﺼﯿﻞ ﺑﻪ ﻣﺜﺎل اﯾﻦ در اﻣﺎ.ﻓﺎﯾﻞ دو
ﻧﺎﻣﻬﺎ ﺑﻪیEXP5_3وodeﺷﺪه ﮔﺮﻓﺘﻪ درﻧﻈﺮ ﻣﺜﺎل اﯾﻦ ﺣﻞ ﺑﺮای زﯾﺮ ﺻﻮرت ﺑﻪاﻧﺪ.
ض ﺷﮑﻞ1-1-ﻓﺎﯾﻞEXP5_3
1
ode23, ode45, ode113, ode15s, ode23s, ode23t, ode23tb
%~~ Chapter 5, Example 3
clc
clear all;
%~~~~~ PARAMETERS DEFINITION ~~~~~
m=.1; % Kg - mass of pendulum
M=1; % Kg - mass of cart
I=.06; % Kg.m^2 - moment of inertia
g=9.81; % m/sec^2
L=.35; % meter (length of pendulum is 2*L)
m1_bar=m*L/(m+M);
m2_bar=m*L/(I+m*L^2);
%~~~~~~~ Simulation Time=5 sec
t=0.01:.01:5;
[rt,ct]=size(t);
par=[m,M,I,g,L,m1_bar,m2_bar];
%~~~~~ 1. teta(0)=5 deg ~~~~~~~~~~~~~
teta_0=5*(pi/180); % teta(0) in radian
x(:,1)=[0;0;teta_0;0]; % initial state
teta_5=ode(par,ct,x(:,1)); % calling user-defined
function: ode
plot(t,teta_5,'b-');
%~~~~~ 2. teta(0)=20 deg ~~~~~~~~~~~~~
teta_0=20*(pi/180); % teta(0) in radian
x(:,1)=[0;0;teta_0;0]; % initial state
teta_5=ode(par,ct,x(:,1)); % calling user-defined
function: ode
hold on;plot(t,teta_5,'b--');
- 33. 33
ض ﺷﮑﻞ1-1-)اداﻣﻪ(ﻓﺎﯾﻞEXP5_3.m
ض ﺷﮑﻞ1-2-ﻓﺎﯾﻞode.m
%~~~~~ 4. teta(0)=33.4 deg ~~~~~~~~~~~~~
teta_0=33.4*(pi/180); % teta(0) in radian
x(:,1)=[0;0;teta_0;0]; % initial state
teta_5=ode(par,ct,x(:,1)); % calling user-defined
function: ode
hold on;plot(t,teta_5,'b:');
legend('initial angle= 5 deg','initial angle= 20
deg','initial angle= 33.4 deg',3);
function [teta]=ode(par_in,ct,x);
x(:,1)=x; % initial state
%~~~~~ DEFINITION OF PARAMETERS ~~~~~
m=par_in(1);
M=par_in(2);
I=par_in(3);
g=par_in(4);
L=par_in(5);
m1_bar=par_in(6);
m2_bar=par_in(7);
mb=m1_bar*m2_bar; %parameter definition only
for convenience!
for k=2:ct
%~~~~~ STATE FEEDBACK ~~~~~~~~~~~~~~~
ke=[-1.91 -4.262 -45.49 -15.64];
u=-ke*x(:,k-1);
%~~~~~ NONLINEAR DYNAMIC EQUATION ~~~~~
x1_dot=x(2,k-1);
x2_dot1=-mb*g*cos(x(3,k-1))*sin(x(3,k-1))/(1-
mb*cos(x(3,k-1))^2);
x2_dot2=(m1_bar*sin(x(3,k-1))*x(4,k-1)^2)/(1-
mb*cos(x(3,k-1))^2);
x2_dot3=u/((m+M)*(1-mb*cos(x(3,k-1))^2));
x2_dot=x2_dot1+x2_dot2+x2_dot3;
x3_dot=x(4,k-1);
x4_dot1=g*m2_bar*sin(x(3,k-1))/(1-mb*cos(x(3,k-1))^2);
x4_dot2=-(mb*sin(x(3,k-1))*x(4,k-1)^2)/(1-mb*cos(x(3,k-
1))^2);
x4_dot3=-m2_bar*cos(x(3,k-1))*u/((m+M)*(1-mb*cos(x(3,k-
1))^2));