how can add PI to ode45?
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
hi
I have an system controled by PI control in simulink i can design it but in code when add PI control I can't do it
where my system is shown in next figure
any help
0 Commenti
Risposta accettata
Sam Chak
il 16 Ago 2022
Modificato: Sam Chak
il 16 Ago 2022
Here are the mathematical preliminaries for constructing the PI in ODE form.
[t, x] = ode45(@system, [0 10], [0; 0]);
plot(t, x(:,1), 'linewidth', 1.5)
grid on, xlabel('t'), ylabel('y(t)'), ylim([-0.2 1.2])
function dxdt = system(t, x)
dxdt = zeros(2, 1);
% construction of PI
r = 1; % reference signal
e = r - x(1); % error signal (based on Simulink)
Kp = 1/3; % proportional gain (user's Kp is 1)
Ki = - 1/3; % integral gain (user's Ki is 2)
u = Kp*e + Ki*x(2); % the PI thing (user's PI gains cause overshoot)
% the dynamics
A = 1;
B = 3;
dxdt(1) = A*x(1) + B*u; % the system
dxdt(2) = e; % for integral action
end
3 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Ordinary Differential Equations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!