Solución numérica de la ecuación diferencial especial —— Ecuación algebraica diferencial

La llamada ecuación algebraica diferencial (DAE) se refiere a una ecuación diferencial en la que ciertas variables cumplen con las restricciones de ciertas ecuaciones algebraicas.

La forma general de la ecuación algebraica diferencial es:

Inserte la descripción de la imagen aquí
Entre ellos, la matriz M (t, x) es una matriz singular. Al resolver una ecuación diferencial, ambos lados no se pueden multiplicar por la matriz inversa M 'de la matriz M al mismo tiempo, por lo que este tipo de ecuación no se puede convertir en una ecuación diferencial ordinaria a resolver.

Ejemplo 1:

Suponga que tenemos tres ecuaciones diferenciales aquí. La primera y la segunda son ecuaciones diferenciales convencionales. La tercera ecuación degenera en una ecuación algebraica, por lo que este tipo de ecuación también se llama ecuación algebraica diferencial.
Inserte la descripción de la imagen aquí
Dadas las condiciones del valor inicial, x1 (0) = 0.8, x2 (0) = x3 (0) = 0.1

Exprese la ecuación algebraica diferencial en forma de matriz:
Inserte la descripción de la imagen aquí

f=@(t,x)[-0.2*x(1)+x(2)*x(3)+0.3*x(1)*x(2);
    2*x(1)*x(2)-5*x(2)*x(3)-2*x(2)*x(2);
    x(1)+x(2)+x(3)-1];
M=[1,0,0;0,1,0;0,0,0];
options=odeset;options.Mass=M;
x0=[0.8;0.1;0.1];
[t,x]=ode15s(f,[0,20],x0,options);
plot(t,x)

Inserte la descripción de la imagen aquí
Resumir la solución de la solución A diferencia de las ecuaciones diferenciales convencionales, solo necesitamos establecer la matriz de Masa en los parámetros de control, para que las ecuaciones algebraicas diferenciales puedan resolverse.

Caso especial para resolver ecuaciones diferenciales:
Además, podemos convertir esta ecuación en una ecuación diferencial general a través del procesamiento.
Para la tercera ecuación, podemos escribir x3 como x3 (t) = 1-x1 (t) -x2 (t), y luego poner el resultado en las dos primeras ecuaciones, de modo que x3 no aparezca, se convierte en El diferencial ordinario ecuaciones de x1 y x2.
Inserte la descripción de la imagen aquí
Además, las ecuaciones diferenciales-algebraicas, también las podemos expresar en forma de ecuaciones diferenciales implícitas, utilizando el método de resolución de ecuaciones diferenciales implícitas para resolver ecuaciones diferenciales-algebraicas.

Ejemplo 2:

Inserte la descripción de la imagen aquí
De manera similar, las ecuaciones diferenciales implícitas se pueden resolver en forma de ecuaciones algebraicas diferenciales.

f=@(t,x)[1-x(1);-x(2)];
M=@(t,x)[sin(x(1)),cos(x(2));
    -cos(x(2)),sin(x(1))];
ff=odeset;ff.Mass=M;ff,RelTol=1e-6;
[t,x]=ode45(f,[0,10],[0;0],ff);
plot(t,x);

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_45024585/article/details/107796782
Recomendado
Clasificación