BIENVENIDOS

ECUACIONES DIFERENCIALES PARCIALES
MÉTODO DE CRANK-NICOLSON
Es un método numérico que permite resolver ecuaciones diferenciales parciales de segundo orden. Para llegar a ser exacto se deben desarrollar aproximaciones por diferencias en el punto medio del incremento del tiempo. Esto lo pueden apreciar mejor en la molécula computacional del método en la imagen de abajo.

El tema de las ecuaciones es más sencillo de lo que parece. Básicamente es un método implícito de diferencias finitas; es decir, para obtener el valor de T (ver ecuaciones abajo) en el próximo instante de tiempo, se debe resolver un sistema de ecuaciones algebraicas. La función se debe discretizar; si la ecuación en derivadas parciales no es lineal, tampoco lo será la discretización.

Hice un pequeño resumen del desarrollo de las ecuaciones que posiblemente sea más sencillo de digerir que los que se encuentran actualmente en otras páginas web, tomando en cuenta la ecuación de conducción del calor.


Analicemos un ejemplo para resolverlo utilizando MATLAB

El código fuente es este:
clear all;
clc;
lambda=0.020875;
dia=1.04175;
matsol=2.04175*eye(4);
cont=1;
for i=2:4
matsol(cont,i)=-1*lambda;
cont=cont+1;
end
cont=2;
for i=1:3
matsol(cont,i)=-1*lambda;
cont=cont+1;
end
vecres=[4.175; 0; 0; 2.0875];
pri=inv(matsol);
mat=pri*vecres;
B=[0; 0; 0; 0];
cunt=1;
res=eye(4);
for i=1:4
B=pri*(B+vecres);
mat(:,i)=B;
end
tiempo=zeros(4,4);
longitud=zeros(4,4);
achmed=0.1;
deltoya=2.5;
contax=1;
ac=achmed;
for i=1:4
tiempo(:,i)=ac;
ac=ac+achmed;
end
del=deltoya;
for i=1:4
longitud(i,: )=del; %Quitar el espacio entre : y ), lo dejé así para que no salga esto

del=del+deltoya;
end
figure
surf(longitud,tiempo,mat);

El programa grafica la solución:


Eso fue todo. Visita mis otros aportes
