funcion de calor en matlab
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Aproxima la solución de la ecuación del calor mediante un esquema
% en diferenciasfinitas explícito.
%
% La condición inicial ha de ser guardada en un fichero ci.m.
%
% Dx: Paso de la discretización espacial.
% Dt: Paso de la discretización temporal.
% N: Número depasos en la iteración.
% c: Constante asociada a la conductividad térmica propia del material.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Discretizaciónespacial
x=0:Dx:10;
lx=length(x);
% Discretización temporal
t=Dt:Dt:Dt*N;
lt=length(t);
% Condición inicial
u(1:lx,1) = ci(x);
% Condición CFL para la ecuación delcalor
s=Dt*c^2/(Dx^2);
% Calcula la solución
for n=1:lt
% Condición de contorno
u(1,2:lt+1) = 0;
u(lx,2:lt+1) = 0;
for j=2:lx-1u(j,n+1) = s*u(j-1,n) + (1-2*s)*u(j,n) + s*u(j+1,n);
end
end
% Muestra la solución
u
% Dibuja la solución
plot(x,u(:,lt+1),x,ci(x),'r')
title('Ecuación del calor')legend('Solución aproximada','Solución en t=0')
xlabel('x')
ylabel('u')
end
Runge Kuta
function [x,y]=rk4(func,x0,xf,y0,n)
% Esta rutina implementa el metodo de Runge-Kuttausual de orden 4.
%function [x,y]=rk4(func,x0,xf,y0,n)
% Los parametros de llamada son:
% x0= escalar con el valor inicial de la x
% xf= escalar con el valor final de la x
% n = numero desaltos en donde se evalua y (equivale n=(xf-x0)/h donde
% h es el tamaño de paso.
% y0= vector columna con los valores iniciales.
h=(xf-x0)/n;
x=x0:h:xf;y=y0;
for k=1:n,k1=feval(func,x(k),y(:,k));
k2=feval(func,x(k)+h/2,y(:,k)+h/2*k1);
k3=feval(func,x(k)+h/2,y(:,k)+h/2*k2);
k4=feval(func,x(k)+h,y(:,k)+h*k3);
y(:,k+1)=y(:,k)+(k1+k4+2*(k2+k3))*h/6;
end
x=x';y=y';...
Regístrate para leer el documento completo.