주요 콘텐츠

tf

제약 조건이 없는 MPC 제어기를 선형 전달 함수 형식으로 변환

설명

Model Predictive Control Toolbox™의 tf 함수를 사용하여 샘플 시간이 정의된, 제약 조건이 없는 MPC 제어기를 전달 함수 형식으로 변환합니다(배경 정보는 mpc 참조). 반환된 제어기는 활성 제약 조건이 없는 경우 원래 MPC 제어기 mpcobj와 동일합니다. 그런 다음 Control System Toolbox™를 사용하여 민감도 분석 및 기타 진단 계산을 수행할 수 있습니다.

대신 일반적인 LTI 동적 시스템을 영점/극점/이득 형식으로 생성하거나 변환하려면 tf동적 시스템 모델 항목을 참조하십시오.

ktf = tf(mpcobj)는 선형 이산시간 동적 제어기 ktf를 전달 함수 형식으로 반환합니다. ktf는 활성 제약 조건이 없는 경우 MPC 제어기 mpcobj와 동일합니다.

예제

예제

모두 축소

플랜트 및 대응하는 MPC 객체를 생성하고 이 객체를 전달 함수 형식으로 변환합니다.

mpcverbosity off;          % turn off mpc messaging
plant=tf(1,[1 1],0.2);     % create plant (0.2 seconds sampling time)
mpcobj=mpc(plant,0.2);     % create mpc object (0.2 second sampling time)

ktf=tf(mpcobj)             % convert mpc to transfer function

ktf =
 
  From input "MO1" to output "MV1":
    0.452 z^3 - 0.6781 z^2 - 1.506e-16 z
  -----------------------------------------
  z^3 - 1.001 z^2 + 0.0002642 z + 0.0006399
 
Sample time: 0.2 seconds
Discrete-time transfer function.

비측정 외란 입력의 계단 신호 부분에 대한 응답을 sim 명령과 제어기 전달 함수 형식을 둘 다 사용해 플로팅합니다.

% create a plant and the corresponding mpc object
mpcverbosity off;                  % turn off mpc messaging
plant=tf({1,1},{[1 1],[1 1]},0.2); % create plant (0.2 seconds sampling time)
plant=setmpcsignals(plant,'UD',2); % second input is a disturbance entering at mv
mpcobj=mpc(plant,0.2);             % create mpc object (0.2 second sampling time)

% set input and output disturbance models (remove integrators)
setindist(mpcobj,'model',tf(1))    % set input disturbance model to 1
setoutdist(mpcobj,'model',tf(1))   % set output disturbance model to 1

% closed loop output sensitivity
cloffset(mpcobj)
ans =
    1.4472

% convert the controller and calculate closed loop transfer function
ktf=tf(mpcobj);                    % convert mpc to transfer function
Muy=feedback(plant(:,1),ktf,1);    % closed loop transfer function from mv to y

% closed loop output sensitivity using transfer function
1+dcgain(Muy*ktf)
ans =
    1.4472

% plot closed loop response to a step on the measured input
step(Muy,10);                                     % simulate using step

% create option object to inject disturbance in simulation
SimOptions = mpcsimopt;                           % create object
SimOptions.UnmeasuredDisturbance = ones(50,1);    % specify unmeasured input disturbance

% simulate closed loop for 50 steps with sim and step and plot the response
[y,t,u,xp]=sim(mpcobj,50,0,[],SimOptions);           % simulate using sim

% overlap the sim results on the plot
hold on
stairs(t,y,'r')
hold off

입력 인수

모두 축소

모델 예측 제어기로, MPC 제어기 객체로 지정됩니다. MPC 제어기를 생성하려면 mpc를 사용하십시오.

출력 인수

모두 축소

활성 제약 조건이 없는 경우 MPC 제어기 mpcobj의 전달 함수 형식입니다. 이는 tf(ss(mpcobj))와도 동일합니다.

참고

mpcobj가 사용자 지정 상태 추정을 사용하도록 설정된 경우, tf는 조작 변수의 이전 값을 포함하여 증강된 이산시간 플랜트의 상태로부터 조작 변수로의 정적 이득 피드백 행렬을 반환합니다.

버전 내역

R2006a 이전에 개발됨