Linearization of Nonlinear modes from ode equation
34 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Nivedhitha S
am 4 Sep. 2019
Beantwortet: Naveen Venkata Krishnan
am 14 Okt. 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 Kommentare
Akzeptierte Antwort
Naveen Venkata Krishnan
am 14 Okt. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations 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!