Linearization of Nonlinear modes from ode equation
26 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Nivedhitha S
il 4 Set 2019
Risposto: Naveen Venkata Krishnan
il 14 Ott 2019
Dear community,
I am solving a poblem of application of control for my process. I have developed the ode equations (non linear) for the process. The first step is going to be "linearization" of the models. I understood that there are methods and toolboxes available to apply linearization and trimmimg at steady stae operating point from the simulink models. Could the same be done in a simple matlab script? If so, what is the procedure to do the same? Are there any functions/ commands to be given to get linearized models from the non linear ODEs? Any help will be highly appreciated.
0 Commenti
Risposta accettata
Naveen Venkata Krishnan
il 14 Ott 2019
Hello Niveditha,
As for as I understood you need some guidance with respect to linearization of non-linear system. I have given you one such example below. The system used is a Quadruple tank system (ignore the system dynamics ) and linearization is done at the steady state values of the System states.
%------------------system states------------%
% h1=water level of tank 1
% h2=water level of tank 2
% h3=water level of tank 3
% h4=water level of tank 4
%------------------system inputs------------%
% v1=pumb 1 input
% v2=pumb 2 input
% y1,y2 are out put
% A,B,C linearized system matrices
syms a1 a2 a3 a4 kc k1 k2 A1 A2 A3 A4 y1 y2 g h1 h2 h3 h4 v1 v2 ld1 ld2 c D
f1 = (ld1*k1*v1)/A1+a3*sqrt(2*g*h3)/A1-a1*sqrt(2*g*h1)/A1;
f2 = (ld2*k2*v2)/A2+a4*sqrt(2*g*h4)/A2-a2*sqrt(2*g*h2)/A2;
f3 = ((1-ld2)*k2*v2)/A3-a3*sqrt(2*g*h3)/A3;
f4 = ((1-ld1)*k1*v1)/A4-a4*sqrt(2*g*h4)/A4;
a=jacobian([f1;f2;f3;f4],[h1 h2 h3 h4]); % Calculating Jacobian at steady state points
b=jacobian([f1;f2;f3;f4],[v1 v2]);
v1=3;
v2=3;
a1=.071;a2=.057;a3=.071;a4=.057;
A1=28;A2=32;A3=28;A4=32;
k1=3.33;k2=3.35;
kc=.5;
g=981;
h1=12.4;h2=12.7;h3=1.8;h4=1.4;
ld1=.7;ld2=.6;
C = [0.5 0.5 0 0];
A=eval(a); %linearized A matrix at steady state point
B=eval(b); %linearized B matrix at steady state point
0 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!