Linearization of Nonlinear modes from ode equation

34 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Naveen Venkata Krishnan
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

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by