Visita Unillanos
From hpcwiki
Código de matlab, difusión del calor en una barra conductora
clear all
clc
dt=1;
dx=0.025;
Tllama=1200;
Tambiente=18;
alfa=0.00014;
max_t=4000;
L=1;
%genera una matriz de unos en donde cada fila representa un punto sobre la
%varilla dx y cada columna representa una unidad de tiempo dt
T=ones(L/dx,max_t/dt)*Tambiente;
% Inicializa la primera fila (x=0) en la temperatura de la llama, 1200º
for i=1:max_t/dt
T(1,i)=Tllama;
end
%calcula la temperatura en cada punto en cada tiempo y guarda en la matriz
%T
for j=2:max_t/dt
for i=2:L/dx-1
%%% Poner aquí la expresión correspondiente a la solución numérica
end
end
%Genera una malla de tamaño igual a la matriz T
x=1:1:L/dx-1;
y=1:dt:max_t;
[X,Y]=meshgrid(x,y);
%dibuja la temperatura en cada punto de la malla
z=T(x,y);
figure
mesh(z)
title('cambio de temperatura')
xlabel('tiempo (seg.)')
ylabel('longitud barra')
zlabel('temperatura ºC')
figure
for t=1:100:max_t
plot(x,T(x,t));hold on;
end
xlabel('longitud barra')
ylabel('temperatura ºC')
title('temperatura de la barra cada 100s')