이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

Similar documents
PowerPoint Presentation

Kuo의자동제어10e_10v01


슬라이드 1

2014밝고고운동요부르기-수정3

2005프로그램표지

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

PowerPoint Presentation

슬라이드 1

Microsoft PowerPoint - ch12ysk2015x [호환 모드]

10김묘선

PowerPoint Presentation

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx


슬라이드 1

Matlab Graphics

Microsoft PowerPoint - Ch15-1

% Rectangular Value 입력 t = -50 : 1 : 50; % 시간영역 for i = 1 : 101 if abs ( t ( i ) ) < 10 x ( i ) = 1; else x ( i ) = 0; % 화면을 2 열 1 행으로나눈후 % 2 열 1 행에 R

실험 5

DBPIA-NURIMEDIA

(Microsoft PowerPoint - Ch21_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

<32332D322D303120B9E6BFB5BCAE20C0CCB5BFC1D6312D32302E687770>

½½¶óÀ̵å Á¦¸ñ ¾øÀ½

<C6F7C6AEB6F5B1B3C0E72E687770>

DBPIA-NURIMEDIA

ÆÊÇ÷¿

<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770>

PowerPoint 프레젠테이션

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

슬라이드 1

윈도우즈프로그래밍(1)

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp


歯신호측정

실험 5

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft Word - LAB_OPamp_Application.doc

(Microsoft PowerPoint - Ch17_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

) (Linearity) y(n) = T[x(n)] y2(n) = T[x2(n)] y(n) = T[ax(n)+bx2(n)] = T[ax(n)]+T[bx2(n)] = ay(n)+by2(n),., superposition superposition

PowerPoint 프레젠테이션

Control Engineering Tutorial Analysis of control system in frequency domain 개요 이장에서는보데선도를이용하여주파수영역에서제어시스템을해석하고설계하는방법을다룬다. 우선보데선도의기본작성법을익히고이선도로부터시스템의주파


<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

슬라이드 1

DA C.4.

Microsoft PowerPoint - [2009] 02.pptx

진단, 표시・광고법 시행 1년

PowerPoint 프레젠테이션

.4 편파 편파 전파방향에수직인평면의주어진점에서시간의함수로 벡터의모양과궤적을나타냄. 편파상태 polriion s 타원편파 llipill polrid: 가장일반적인경우 의궤적은타원 원형편파 irulr polrid 선형편파 linr polrid k k 복소량 편파는 와 의

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

설계란 무엇인가?

Open methods

Microsoft PowerPoint - ICCAD_Analog_lec01.ppt [호환 모드]

Chapter 연습문제답안. y *sin-*cos*^ep-*/sqrt. y [ ; sinpi/ ; sin*pi ; ] 혹은 [ sinpi/ sin*pi ]. a ais[- ] b et.,., sin. c.. a A는주어진행렬 M의 번째열만을표시하는새로운행렬을나타낸다.

PS4000-¼³¸í¼�

(Transer Function) X(w) Y(w) H(w) Y(w) X(w) H ( w) φ H(w) H(w) X(w) Y(w). Vo ( w) H v ( w) V ( w) I o( w) H i ( w) I ( w) V ( w) H z ( w) I ( w) I ( w

Microsoft PowerPoint - lect08.ppt [호환 모드]

슬라이드 1

Microsoft Word - Lab.7

A 001~A 036

하루에 2시간 되는 거리를 매일 왔다 갔다 하는 것이 쉽지는 않았으나, 저는 다니는 동안 나름의 체력이 길러졌다고 생각합니다. 지하철로 이동하는 약 40분 정도 시간 동안 강의를 녹음한 것을 들으면서 굳이 책을 보지 않고도 강의를 복 습함으로써 시간을 효율적으로 사용했

그룹웨어와 XXXXX 제목 예제

Microsoft PowerPoint - analogic_kimys_ch10.ppt

100, Jan. 21, 호, Jan. 21, , Jan. 21, 2005


슬라이드 1

Microsoft PowerPoint - Ch16

(Microsoft PowerPoint - Ch6_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

π >> x=linspace(0,2*pi,30); >> y=sin(x); >> plot(x,y) π

슬라이드 1

유선방송국설비등에관한기술기준고시개정 ( 안 ) 행정예고 - 1 -

제 3강 역함수의 미분과 로피탈의 정리

OCW_C언어 기초

저작자표시 - 비영리 - 동일조건변경허락 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이차적저작물을작성할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비

2-ITc03ÖÁ¾š

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

(Microsoft Word - GNU\272\270\260\355\274\255)

5. 회 의내용 < 제 1호 안 : 2011학년도 법 안 회 제 철 산(안 )> 법인 사무국장의 성왼 보고에 이이 의장이 이사회 개회 용 선언하고 회계판려부장에 게 제 l 호 안인 학년도 입인 회계 결산(안)에 대한 성명융 지시함 회계판리부장이 2011 학년

Smart Power Scope Release Informations.pages

슬라이드 1

<4D F736F F F696E74202D2035BBF3C6F2C7FC5FBCF8BCF6B9B0C1FA2E BC8A3C8AF20B8F0B5E55D>

슬라이드 1

Application TI-89 / Voyage TM 200 PLT application. application, application. APPLICATIONS :, N. 1. O application. 2. application : D C application,. a

일반각과호도법 l 삼각함수와미분 1. 일반각 시초선 OX 로부터원점 O 를중심으로 만큼회전이동한위치에동경 OP 가있을때, XOP 의크기를나타내는각들을 ( 은정수 ) 로나타내고 OP 의일반각이라한다. 2. 라디안 rad 반지름과같은길이의호에대한중심각의 크기를 라디안이라한

LIDAR와 영상 Data Fusion에 의한 건물 자동추출

PowerPoint 프레젠테이션

PowerPoint Presentation

< F325FBABB5F C7E0B0A8B0E1B0FABAB8B0EDBCAD5B315D2E687770>

Microsoft PowerPoint - lect08

(Microsoft PowerPoint - Ch19_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

<B0B3C0CEC1A4BAB85FBAB8C8A3B9FDB7C95FB9D75FC1F6C4A7B0EDBDC35FC7D8BCB3BCAD C3D6C1BE292E687770>

사용자 설명서 SERVO DRIVE (FARA-CSD,CSDP-XX)

JP작업

DCR-HC15

RX_878

CTS사보-2월

제 장의구성. 통신의개요. 전파의특성.3 변조의목적.4 주파수대역과채널.5 통신신호의해석

Microsoft PowerPoint - Ch12

ch3.hwp

Transcription:

이장에서사용되는 MATLAB 명령어들은비교적복잡하므로 MATLAB 창에서명령어를직접입력하지않고확장자가 m 인 text 파일을작성하여실행을한다. 즉, test.m 과같은 text 파일을만들어서 MATLAB 프로그램을작성한후실행을한다. 이와같이하면길고복잡한 MATLAB 프로그램을작성하여실행할수있고, 오류가발생하거나수정이필요한경우손쉽게수정하여실행할수있는장점이있으며, 추후사용을위하여보관할수있다. 컴퓨터예제 7-1 보드선도를그리기위한 MATLAB 프로그램은다음과같다. 보드선도를그리기위한데이터 를행렬변수에담기위해서 [mag,phase]=bode(sys(k),w); 의명령이사용된다. 위와같이하면, mag와 phase의변수에각각크기와위상의값이저장된다. 이때, 보드선도그림은그리지않는다. 또한, w의변수에주파수값을넣어서 bode 명령어를사용하면계산을위한주파수값을지정할수있다. MATLAB program----------------------------------------------------- N=1001; w=logspace(-1,2,n); sys(1)=tf(100*[1],[1 1 0]); sys(2)=tf(100*[0.1 1],[1 1 0]); sys(3)=tf(100*[0.2 1],[1 1 0]); sys(4)=tf(100*[0.05 1],[1 1 0]); for k=1:4 [mag,phase]=bode(sys(k),w); for i=1:n mag_bode(i)=20*log10(mag(i)); phase_bode(i)=phase(i); subplot(2,1,1) semilogx(w, mag_bode,'-b','linewidth',3); axis([.1 100-40 60]) set(gca,'ytick',[-60-40 -20 0 20 40 60]) ylabel('magnitude (db)') subplot(2,1,2)

semilogx(w, phase_bode,'-b','linewidth',3); axis([.1 100-180 -90]) set(gca,'ytick',[-180-150 -120-90]) ylabel('phase (degree)') [gm,pm]=margin(sys(k)) hold off ----------------------------------------------------- 계단응답을그리기위한 MATLAB 프로그램은다음과같다. 아래에서폐루프시스템을구하기위하여 h=feedback(k*tf([1],[1 1 0]),1) 의명령어가사용되었다. 즉, 위의명령어는그림 7-1 의시스템에서 1 Ds () = KGs, () =, Hs () = 1 ss ( + 1) 인경우의폐루프시스템을구해준다. MATLAB Program K=100 h=feedback(k*tf([1],[1 1 0]),1) [y1,t1]=step(h,10); h=feedback(k*tf([0.1 1],[1 1 0]),1) [y2,t2]=step(h,10); plot(t1,y1,'-k',t2,y2,'-b','linewidth',3); axis([0 10 0 2]) xlabel('time(sec)'); ylabel('output') grid;

컴퓨터예제 7-2 진상제어기를설계하기위한 MATLAB 프로그램은다음과같다. 아래의프로그램에서제어기 를포함한시스템의전달함수를구하기위해서 sys(2)=tf(100*[t 1],conv([alpha*T 1],[1 1 0])); 의명령어가사용되었다. 위의명령어에서 conv 는두개의다항식을곱해서얻어지는다항 식을구하는명령어이다. 즉, conv([alpha*t 1],[1 1 0]) 2 은 ( α Ts + 1)( s + s) 의다항식을계산하는명령어이다. 진상제어기를설계하기위해서 α = 0.13 를정한후, ω max 에서진상제어기의크기값을 계산하면, 0.5 20log 1/ α = 9dB 이다. 개루프전달함수 DsGs () () 의크기보드선도 가 9dB 의값을갖는주파수를찾기위하여보드선도그림을이용하면정확한값을찾 기가어렵다. 따라서, 10 ( ) [w' mag_bode' phase_bode']; 의명령어에서 ; 을제거한후실행하면주파수, 크기, 위상값을화면에보여준다. 데이터 개수 N 을크게하면, 비교적정확한값을찾을수있으며, 이와같이하여 ω max = 16.7( rad / sec) 을찾을수있다. MATLAB program----------------------------------------------------- N=1001; w=logspace(-1,2,n); T=0.17; alpha=0.13; atan((1-alpha)/(2*sqrt(alpha)))*180/pi 10*log10(1/alpha) sys(1)=tf(100*[1],[1 1 0]); sys(2)=tf(100*[t 1],conv([alpha*T 1],[1 1 0])); for k=1:2 [mag,phase]=bode(sys(k),w); for i=1:n mag_bode(i)=20*log10(mag(i));

phase_bode(i)=phase(i); [w' mag_bode' phase_bode']; subplot(2,1,1) semilogx(w, mag_bode,'-b','linewidth',3); axis([.1 100-40 60]) set(gca,'ytick',[-60-40 -20 0 20 40 60]) ylabel('magnitude (db)') subplot(2,1,2) semilogx(w, phase_bode,'-b','linewidth',3); axis([.1 100-180 -90]) set(gca,'ytick',[-180-150 -120-90]) ylabel('phase (degree)') [Gm,Pm,Wcg,Wcp]=margin(sys(k)) hold off ----------------------------------------------------- 계단응답을그리기위한 MATLAB 프로그램은다음과같다. MATLAB Program K=100 T=0.17; alpha=0.13; h=feedback(tf(k*[t 1],conv([alpha*T 1],[1 1 0])),1) [y2,t2]=step(h,10); plot(t2,y2,'-b','linewidth',3); axis([0 10 0 2]) xlabel('time(sec)'); ylabel('output') grid;

컴퓨터예제 7-3 이예제에서는두단으로구성된진상제어기를설계한다. 먼저, 진상제어기를한개설계한후, 이제어기를제어대상시스템에포함하여진상제어기를한개추가한다. MATLAB 프로그램은다음과같다. MATLAB Program num=10; den=conv([0.2 1],[1 1 0]) % Original system w=logspace(-1,2,200); figure(1) margin(tf(num,den)) % Design the first lead controller phimax=55; alpha=(1-sin(pi*phimax/180))/(1+sin(pi*phimax/180)) 10*log10(1/alpha) [w' 20*log10(mag) phase ] wmax=4.73; T=1/(wmax*sqrt(alpha)) num1=[t 1]; den1=[t*alpha 1]; num=conv(num1,num); den=conv(den1,den); figure(2) margin(tf(num,den)) u=linspace(1,1,200); t=linspace(0,5,200); [y]=lsim(feedback(tf(num,den),1),u,t); figure(3) plot(t,y); grid on % Design the second lead controller phimax=32; alpha=(1-sin(pi*phimax/180))/(1+sin(pi*phimax/180)) 10*log10(1/alpha)

[w' 20*log10(mag) phase ] wmax=6.73; T=1/(wmax*sqrt(alpha)) num1=[t 1]; den1=[t*alpha 1]; num=conv(num1,num); den=conv(den1,den); figure(4) margin(tf(num,den)) u=linspace(1,1,200); t=linspace(0,5,200); [y]=lsim(feedback(tf(num,den),1),u,t); figure(5) plot(t,y); grid on

컴퓨터예제 7-4 보드선도를그리기위한 MATLAB 프로그램은다음과같다. MATLAB Program N=1001; w=logspace(-2,2,n); K=10; sys(1)=tf(5*k,[1 6 5]); Ti=1/0.6; sys(2)=tf(5*k*[ti 1],conv([Ti 0],[1 6 5])); Ti=1/3; sys(3)=tf(5*k*[ti 1],conv([Ti 0],[1 6 5])); for k=1:3 [mag,phase]=bode(sys(k),w); for i=1:n mag_bode(i)=20*log10(mag(i)); phase_bode(i)=phase(i); [w' mag_bode' phase_bode']; subplot(2,1,1) semilogx(w, mag_bode,'-b','linewidth',3); axis([.01 100-40 60]) set(gca,'ytick',[-60-40 -20 0 20 40 60]) ylabel('magnitude (db)') subplot(2,1,2) semilogx(w, phase_bode,'-b','linewidth',3); axis([.01 100-180 0]) set(gca,'ytick',[-180-135 -90-45 0]) ylabel('phase (degree)') [Gm,Pm,Wcg,Wcp]=margin(sys(k)) hold off 계단응답을그리기위한 MATLAB 프로그램은다음과같다.

MATLAB Program t=0:0.001:10; sys(1)=tf(5*k,[1 6 5]); K=10; Ti=1/0.6; sys(2)=tf(5*k*[ti 1],conv([Ti 0],[1 6 5])); Ti=1/3; sys(3)=tf(5*k*[ti 1],conv([Ti 0],[1 6 5])); h=feedback(sys(1),1) [y1]=step(h,t); h=feedback(sys(2),1) [y2]=step(h,t); h=feedback(sys(3),1) [y3]=step(h,t); plot(t,y1,'-k',t,y2,'-b',t,y3,'--b','linewidth',3); axis([0 5 0 2]) xlabel('time(sec)'); ylabel('output') grid;

컴퓨터예제 7-5 이예제에서는지상제어기를설계한다. MATLAB 프로그램은다음과같다. MATLAB Program num=100; den=conv([1 1],[0.2 1]); w=logspace(0,3,200); figure(1) margin(num,den) [w' 20*log10(mag) phase ] alpha=10^(18.8/20) T=10/6.75 num1=[t 1]; den1=[t*alpha 1]; num=conv(num1,num); den=conv(den1,den); figure(2) margin(tf(num,den)) u=linspace(1,1,200); t=linspace(0,5,200); [y]=lsim(num,[0 0 num]+den,u,t); figure(3) plot(t,y); grid on

컴퓨터예제 7-6 보드선도를그리기위한 MATLAB 프로그램은다음과같다. MATLAB Program N=1001; w=logspace(-1,2,n); K=10; Ti=1/0.6; sys(1)=tf(5*k*[ti 1],conv([Ti 0],[1 6 5])); Ti=1/0.6;Td=1/10; sys(2)=tf(5*k*conv([td 1],[Ti 1]),conv([Ti 0],[1 6 5])); for k=1:2 [mag,phase]=bode(sys(k),w); for i=1:n mag_bode(i)=20*log10(mag(i)); phase_bode(i)=phase(i); [w' mag_bode' phase_bode']; subplot(2,1,1) semilogx(w, mag_bode,'-b','linewidth',3); axis([.1 100-40 40]) set(gca,'ytick',[-60-40 -20 0 20 40 60]) ylabel('magnitude (db)') subplot(2,1,2) semilogx(w, phase_bode,'-b','linewidth',3); axis([.1 100-180 0]) set(gca,'ytick',[-180-135 -90-45 0]) ylabel('phase (degree)') [Gm,Pm,Wcg,Wcp]=margin(sys(k)) hold off 계단응답을그리기위한 MATLAB 프로그램은다음과같다. MATLAB Program

t=0:0.001:10; K=10; Ti=1/0.6; sys(1)=tf(5*k*[ti 1],conv([Ti 0],[1 6 5])); Ti=1/0.6;Td=0.1; sys(2)=tf(5*k*conv([td 1],[Ti 1]),conv([Ti 0],[1 6 5])); h=feedback(sys(1),1) [y1]=step(h,t); h=feedback(sys(2),1) [y2]=step(h,t); plot(t,y1,'--k',t,y2,'-b','linewidth',3); axis([0 5 0 2]) xlabel('time(sec)'); ylabel('output') grid;

컴퓨터예제 7-7 진상제어기와지상제어기를함께설계하기위한 MATLAB 프로그램은다음과같다. MATLAB Program num=100; den=conv([1 1],[0.2 1]); w=logspace(0,3,200); figure(1) margin(num,den) [w' 20*log10(mag) phase ] alpha=10^(18.8/20) T=10/6.75 num1=[t 1]; den1=[t*alpha 1]; num=conv(num1,num); den=conv(den1,den); figure(2) margin(tf(num,den)) u=linspace(1,1,200); t=linspace(0,10,200); [y]=lsim(feedback(tf(num,den),1),u,t); figure(3) plot(t,y); grid on % Design lead controller phimax=35; alpha=(1-sin(pi*phimax/180))/(1+sin(pi*phimax/180)) 10*log10(1/alpha) [w' 20*log10(mag) phase ] wmax=10; T=1/(wmax*sqrt(alpha)) num1=[t 1]; den1=[t*alpha 1]; num=conv(num1,num); den=conv(den1,den); figure(4)

margin(tf(num,den)) u=linspace(1,1,200); t=linspace(0,10,200); [y]=lsim(feedback(tf(num,den),1),u,t); figure(5) plot(t,y); grid on