BIENVENIDOS
INTRODUCCIÓN
MÉTODO EXPLÍCITO
EJEMPLO
Elaborar un programa que resuelva el método explícito y probarlo de acuerdo a las condiciones: longitud = 3m, número de divisiones de la barra = 6m, longitud del paso del tiempo = 0.25s, constante de difusividad térmica = 0.1, condiciones iniciales cero, 5 intervalos para la forma matricial y 4 iteraciones
Código fuente (solución en MATLAB)
clear all;
clc;
l=input('Ingrese la la longitud de la barra (L): n');
n=input('Ingrese el número de divisiones de la barra (n): n');
h=l/n;
k=input('Ingrese la longitud del paso de tiempo (k): n');
K=input('Ingrese la constante de difusividad térmica (K): n');
lambda=((K*k)/(h*h));
il=(1-(2*lambda));
alfa=input('Ingrese la condición inicial alfa: n');
beta=input('Ingrese la condición inicial beta: n');
kappa=input('Ingrese para cuántos intervalos desea la forma matricial: n');
uso=kappa-1;
usos=uso-1;
A=il*eye(uso);
cont=1;
for i=2:uso
A(cont,i)=lambda;
cont=cont+1;
end
cont=2;
for i=1:usos
A(cont,i)=lambda;
cont=cont+1;
end
quo=h;
for z=1:uso
B(z)=((9*(quo*quo))-(quo*quo*quo*quo));
quo=quo+h;
end
BI=B';
jim=input('Ingrese el número de iteraciones: n');
numo=uso*jim;
u=zeros(uso,jim);
lum=1;
kira=k;
echo=1;
for j=1:jim
C=BI;
X=A*C;
for lil=1:uso
u(lum,echo)=X (lil); %Borrar el espacio entre X y (, lo dejé para que en el post no salga
lum=lum+1;
end
echo=echo+1;
lum=1;
BI=X;
end
tiempo=zeros(uso,jim);
longitud=zeros(uso,jim);
achmed=0.25;
contax=1;
ac=achmed;
for i=1:usos
tiempo(:,i)=ac;
ac=ac+achmed;
end
deltoya=0.5;
del=deltoya;
for i=1:uso
longitud(i,: )=del; %Quitar el espacio entre : y ), lo dejé para que en el post no se vea
del=del+deltoya;
end
figure
surf(longitud,tiempo,u);
MÉTODO IMPLÍCITO
EJEMPLO
Código fuente (solución en MATLAB)
clear all;
clc;
lambda=0.020875;
dia=1.04175;
matsol=1.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=[2.0875; 0; 0;1.04375];
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 en el post no se vea
del=del+deltoya;
end
figure
surf(longitud,tiempo,mat);
YAPA: Aplicación del código para método explícito con el caso de estudio del método implícito
Eso fue todo. Visita mis otros aportes