Personal tools

Visita Unillanos

From hpcwiki

Jump to: navigation, search

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')