Simulation by Octave GNU

2230 단어 OctaveMathematics

Octave에서 시뮬레이션을 해보고 싶어요.


최초의 동기는 식물 생리학을 기초로 한 시뮬레이션을 시도하려는 것이다

작업 환경의 Octave 버전


Octave
>> version
ans = 6.3.0

Octave 시뮬레이션을 사용한 기사를 참고해 봤습니다.


한편 이 기사에 나온 옥타브의 코드는 이 기사에서 인용됐다.
모의의 목적은 계산 출력을 통해 입력한 결과에 대한 결과를 얻는 것이기 때문에 먼저 전달 함수를 통해 간단한 모의를 한다.
나는 그 포장의 Control을 받았다.

Octave에 Control 패키지 설치


Octave
>> pkg install -forge control
전달 함수는 공학에서 입력과 출력의 관계를 제어하는 함수로 이 입력과 출력 시스템의 행위와 안정성을 평가한다.
$P(s)$, $s는 복수로 표시됩니다.모든 입력에 대해 전달 함수를 사용하여 출력을 얻기 위해 변수는 시간 $t가 아니라 복수로 표시됩니다.
즉, (출력) = (전달 함수)×(입력) 형식입니다.
출력을 제어하기 위해 전달 함수는 간임을 알 수 있다.
기본 함수의 특성에 대해서는 동북대학교 장산 선생님의 다음 교재를 참고하십시오.
기본 전달 함수의 특성
1회 지연 + 시간 낭비 시스템의 모델 설명 공식은 다음과 같습니다.
P(s)=\frac{K}{1+Ts} e^{-Ls}
각 문자의 의미는 다음과 같습니다.
문자
의향
$P$
전달 함수
$s$
s구역
$K$
이득
$T$
시간 상수(작을수록 출력이 빨라짐)
$L$
시간을 낭비하다
먼저 모델링을 진행하는 토대에서 상수를 다음과 같은 내용으로 설정한다
문자

$K$
0.5
$T$
40.0
$L$
8.0
Octave
% 推定した制御対象のモデル
K = 2.0;
T = 40.0;
L = 8.0;
P = tf(K,[T,1])*tf([-L/2,1],[L/2,1]);  % Octaveの場合(一次で近似)
설계 컨트롤러
불완전 미분 PID 컨트롤러는 다음과 같은 공식으로 표시한다
$$C(s)=k_p\left( 1+\frac{1}{{T_i}s}+\frac{T_ds}{1+0.125 {T_d}s}\right)$$
문자
의향
$C$
PID 제어 전달 함수
$s$
s구역
$k_p$
배율 이득($p:$Propotional)
$T_i$
적분 시간($i:$Integral)
$T_d$
미분 시간($d:$Differential)
PID 컨트롤러의 디자인 디테일은 일본 공업 뉴스의 다음과 같은 기사를 참고했다.
Octave 코드는 다음과 같습니다.
Octave
kp = 0.6*T/K/L;
Ti = 1.2*T;
Td = 0.5*L;
C = kp*(1+tf(1,[1,0])/Ti+Td*tf([1,0],[0.125*Td,1]));
그림% 1개의 캡션을 편집했습니다.
Octave
>> pkg load control

% 推定した制御対象のモデル

K = 2.0;
T = 40.0;
L = 8.0;
P = tf(K,[T,1])*tf([-L/2,1],[L/2,1]);  % Octaveの場合(一次で近似)

% PIDコントローラの設計

kp = 0.6*T/K/L;
Ti = 1.2*T;
Td = 0.5*L;
C = kp * ( 1+tf(1,[1,0])/Ti + Td * tf([1,0],[0.125*Td,1]))

margin(P*C);
step(P*C/(1+P*C));
step(1/(1+P*C));
차트가 표시됩니다.

좋은 웹페이지 즐겨찾기