how can add PI to ode45?

10 Ansichten (letzte 30 Tage)
karim_karimo
karim_karimo am 15 Aug. 2022
Kommentiert: Sam Chak am 18 Aug. 2022
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

Akzeptierte Antwort

Sam Chak
Sam Chak am 16 Aug. 2022
Bearbeitet: Sam Chak am 16 Aug. 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 Kommentare
karim_karimo
karim_karimo am 17 Aug. 2022
Bearbeitet: karim_karimo am 17 Aug. 2022
thank you
can I use integral instead using the second state
Sam Chak
Sam Chak am 18 Aug. 2022
The integral command requires the mathematical function.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Simulink finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by