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:
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.
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:
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)
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.
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:
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);