상태공간 모델 : 벡터를 이용하여 시스템을 표현할 수 있다.
사용하는 이유 : 고차 미분 방정식을 n개의 1차 미분 방정식으로 바꿀 수 있다.
**전달함수는 [매트랩]의 [tf] function을 이용하면 쉽게 찾을 수 있다.
전달함수 시뮬레이션 (매트랩)
sys = tf(1,[1 9 9])
step(sys)
1. 매트랩에서 시스템의 전달함수는 다음 명령어로 표현할 수 있다.
-> 분자는 1, 분모(9s*s + 9s +9)는 계수만 작성한 후, tf괄호를 씌우면 된다.
그 아래의 명령어는 system의 응답을 보기 위한 명령어다.
damping 값이 크므로 overdamping이라는 결과값을 얻을 수 있다.
9s의 계수를 줄여 나가면, 값에 따라 다른 응답 특성을 확인할 수 있다.
너무 빽빽한 응답특성이 보일 경우, 시뮬레이션 시간을 0에서 0.1단위로 5초까지 나오게 하는 명령어를 사용하자.
음..!
step(sys, [0:0.1:5])가 맞는 명령어이다.
2. 전달함수의 분모의 계수를 모를 때
다음 명령어로 전달함수를 구할 수 있다.
1/((s+1)*(s+2)*(s+5)) 라는 전달함수를 푼다고 생각해보자.
s를 변수로 두기 위해 첫번째 줄 명령어를 꼭 입력해야 한다.
s=tf('s')
sys=1/((s+1)*(s+2)*(s+5))
step(sys)
이와 같은 방법으로도 전달함수 및 응답 특성을 확인할 수 있다.
명령어를 한 줄 씩 작성하기 귀찮다면, '새 스크립트'를 만들어 한 번에 명령어들을 실행할 수 있다.
저장 후(저장하면 확장자가 m으로 저장된다) 실행 버튼을 누르고, '폴더 변경' 누르면 됨
3. symbolic을 이용할 수 있다.
syms 's'
sys=1/(s+1)
tool을 설치해주어야 한다.
라플라스 역변환, 미분과 적분 등에 쉽게 사용될 수 있다.
4. simulink
훨씬 더 쉽게 시스템을 이해할 수 있다.
설치가 안되어 있을 경우, 명령창에 'simulink'를 작성하고, 설치 링크로 들어가 설치하자.
1) 모델 생성 -> 라이브러리 브라우저로 들어가면, tool을 사용할 수 있다.
2) 불러온 전달함수를 수정하려면, 더블클릭 후 수정 가능하다.
3) step과 scope도 끌어오고, 이들을 선으로 연결한다.
4) 실행 버튼을 누른 다음, scope을 더블클릭하면 다음 화면을 볼 수 있다.
5) 작업공간을 보고싶다면, workspace를 끌어와서 다음과 같이 연결, 더블클릭하여 일부 수정한다.
6) plot(out.simout)이 안 되는딩 !~
** 출력(scope)은 library -> sink에 위치해있다.
** (step)은 library -> sources에 위치해있다.
** 작업공간(workspace)은 library -> sink에 위치해있다.
상태방정식을 라플라스 변환-> 전달함수로 구하기(매트랩)
1) A, B, C, D의 값을 matrix로 표현한다.
-> B = [1 1]'와 같이 '를 붙이면 traspose된다.
2) syms s 후에, 전달함수 식을 작성하자.
비선형 시스템 다루기[매트랩]
자동제어 과제 문제 있는지 물어보기
'LAB > 제어이론' 카테고리의 다른 글
자동제어(4) feedback control, error signal analysis, sensitivity (0) | 2023.01.30 |
---|---|
자동제어(3-3) state-space equation (0) | 2023.01.30 |
자동제어(3-2) block diagram, Gain formula(Mason's rule) (0) | 2023.01.30 |
자동제어(2) mechanical systems, Linearization, laplace transform (0) | 2023.01.30 |
자동제어(1) open loop, closed loop, feedback, future evolution (0) | 2023.01.30 |