본문 바로가기

Lecture & Tip/Electronic Engneering

제어(2) hw#1 - Root Locus



제어 첫숙제..두근두근...
뚝딱뚝딱 첫 matlab 코딩(?)..;;
matlab이란 물건 신기하면서 대땅 편하다.
아주 친해지고 싶은 놈이구만 ㅋㅋ
수업시간에 배웠던 zero의 영향력을 root locus로 그려보니
무슨 말인지 알 것 같다..역시 백문이 불여일견!!!

결과....

내 학번이 구려서 zero가 -6,-2일때 %overshoot가 10%는
Gain을 구할 수가 없다..ㅠ.ㅠ

이런일이 가능한걸까? 냠냠..암턴 이런 system은 졸라 꾸진 거라고
말해야게찌? 아닌가? 흠냐..암턴 일단 내 소스코드와 결과를 공개~
settle time과 peak time은 난중에..

또 마지막 zero가 2일 경우는 역시 system이 unstable해져서
step response가 괴상하게 나온다.

덧,RootLocus에 찍힌 점은 %OS=10%에 가장 근접한 점의 Gain정보

-----------------------------------------------
Matlab source 코드

1: % 학번 9815209
2: % 학번 뒷 두자리를 a,b로 설정
3: a=0
4: b=9
5: pOS=10 % OverShoot
6: wn=0 % Wn 전체설정
7: temp=log(pOS/100)
8: z=-temp/sqrt(pi^2+temp^2) % zeta
9: nu=[1 6] % G(s)의 Numerator - zero가 -6일때
10: %nu=[1 2] % G(s)의 Numerator - zero가 -2일때
11: %nu=[1 1] % G(s)의 Numerator - zero가 -1일때
12: %nu=[1 -2] % G(s)의 Numerator - zero가 2일때
13: de=conv([1 0],conv([1 a],[1 b])) % G(s)의 Denominator
14: T=tf(nu,de) % Transfer Function
15: rlocus(T) % Root Locus 를 그림
16: sgrid(z,wn) % Gain을 찾기위한 직선을 그림




[zero가 -6일때]



[zero가 -2일때]



[zero가 -1일때]



[zero가 2일때]


---------------------------------

냠냠..졸리당..자야지..

가자~ 4.5를 향해~