function [y, u] = mpc_simulation_siso(A_m, B_m, C_m, y_k, Np, Nc, Nsim, r_w, ref)
% Função que simula um controlador preditivo para um sistema SISO, baseado
% em seu modelo de espaço de estados.
% Dado o modelo do processo (A_m, B_m, C_m) e dos horizontes de controle e
% predição Np, Nc, utiliza-se a função mpcgain() para obter o modelo
% aumentado do sistema e as matrizes Phi e F. A partir delas, obtém-se os
% ganhos Kmpc e Ky do controlador preditivo a partir de H*(Phi^T)*F; Kmpc é
% a primera linha desta matriz e Ky é o último elemento de Kmpc.
% A partir dos ganhos, obtem-se o esforço de controle como sendo:
% deltau(ki) = K_y*r(ki) - K_mpc*x(ki)
% e, o sinal de controle do processo é:
% u(ki) = deltau(ki) + u(ki-1)
% Por fim, aplica-se ao processo, utilizando o modelo aumentado, o esforço
% de controle:
% x(ki+1) = A*x(ki) + B*deltau(ki)
% y(ki) = C*x(ki)
% Entradas:
% A_m, B_m, C_m: matrizes do modelo real em espaço de estados do processo
% y_m: condição inicial da saída do processo (ao longo do código é
% utilizado como a saída no instante k)
% Np: horizonte de predição (em instantes de amostragem)
% Nc: horizonte de controle (em instantes de amostragem)
% Nsim: tamanho da simulação (em instantes de amostragem)
% r_w: fator de ajuste do esforço de controle
% ref: referência a ser seguida
% Saídas:
% y: saída simulada do processo
% u: sinal de controle simulado do processo
% Observações:
% Neste código, considera-se que o vetor de estados inicial do modelo aumentado é nulo, isto é, não há variações nos estados no instante k = 0.
% Caso queira se adicionar esta consideração, basta adicionar uma nova variável de entrada e considerá-la no código.
% Autoria:
% Victor Rafael Bezerra Maciel
% Universidade Federal de Campina Grande - UFCG
% Laboratório de Instrumentação Eletrônica e Controle - LIEC
% Referências:
% WANG, L. Model predictive control system design and implementation using MATLAB. SpringerScience & Business Media, 2009
n1 = length(B_m);
% Condições iniciais:
x = zeros(n1,1); % Condições nulas mencionadas
x = [x; y_k]; % DeltaX = x(0) = [x_m(0); y(0)] - x_m(-1) = 0
u_k = 0; % u(0) = 0;
% Vetores de saídas da função
u = zeros(1,Nsim);
y = zeros(1,Nsim);
% Matrizes importantes a serem usadas
[A, B, C, Phi, F] = mpcgain(A_m, B_m, C_m, Np, Nc);
H_inv = (Phi')*Phi + r_w*eye(Nc); % Matriz Hessiana inversa
if det(H_inv) == 1e-4
error('Hessian Matrix does not exist');
end
Mat_gain = inv(H_inv)*(Phi')*F;
% Ganhos do controlador:
K_mpc = Mat_gain(1,:); % A primeira linha de H*(Phi^T)*F
K_y = K_mpc(length(K_mpc)); % K_y = último elemento de K_mpc
fprintf('Ganhos do controlador:\nK_mpc = [');
fprintf('%f ',K_mpc);
fprintf(']\nK_y = %f\n', K_y);
fprintf('Iniciando a simulação do controlador preditivo...\n');
for k = 1:Nsim
%Cálculo do esforço de controle Delta_u
deltau = K_y*ref - K_mpc*x;
u_k = deltau + u_k; %Sinal de controle do processo
% Salvando vetor de dados
u(k) = u_k;
y(k) = y_k;
% Aplicando ao processo, utilizando o modelo aumentado do sistema
y_k = C*x; %Saída real do processo
x = A*x + B*deltau; %Vetor de estados x(k)
end
fprintf('Simulação completa!\n');
end
没有合适的资源?快使用搜索试试~ 我知道了~
预测模型基于matlab离散状态空间模型模拟预测控制仿真系统(单输入单输出)【含Matlab源码 1537期】.zip
共4个文件
m:3个
jpg:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 177 浏览量
2021-11-27
21:03:23
上传
评论 4
收藏 32KB ZIP 举报
温馨提示
CSDN海神之光上传的全部代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:testes.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开除testes.m的其他m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 预测系列程序定制或科研合作方向:
资源推荐
资源详情
资源评论
收起资源包目录
【预测模型】基于matlab离散状态空间模型模拟预测控制仿真系统(单输入单输出)【含Matlab源码 1537期】.zip (4个子文件)
【预测模型】基于matlab离散状态空间模型模拟预测控制仿真系统(单输入单输出)【含Matlab源码 1537期】
mpcgain.m 2KB
testes.m 1KB
mpc_simulation_siso.m 3KB
运行结果.jpg 36KB
共 4 条
- 1
海神之光
- 粉丝: 3w+
- 资源: 2089
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页