Vous êtes sur la page 1sur 3

%

%
%
%
%
%

Nombre del programa: cds.m


Autores: Marlon Danny Jerez Masaquiza
Cruz Elias Guamn
Email de los autores: marlon.jerez@yachaytech.edu.ec
cruz.guamn@yachaytech.edu.ec
Fecha de elaboracin: Julio 03 de 2016

%
%
%
%
%

Breve descripcin del programa: Realiza la grfica de la solucin exacta y


solucin aproximada en el intervalos [0,1] de la ecuacin diferencial
u'(x)= (1/50)* u"(x) y clculo de errores de las diferencias
finitas de los puntos equidistantes n.
-------------------------------------------------------------------------

%
%
%
%

Datos de entrada:
----------------n : vector de nmero de nodos equidistantes [11 21 41 81].
-------------------------------------------------------------------------

%
%
%
%
%
%

Datos de salida:
---------------results : matrz que contine los errores en: norma infinita, grado de
convergencia asociado con norma infinita, normaLp, grado de convergencia
asociado con normaLp.
-------------------------------------------------------------------------

function [results]=cds(n)
% Inicializo variables de almacenamiento.
% --------------------------------------norminf=zeros(length(n),1); % Error en la norma infinita
normaLP=zeros(length(n),2); % Error en la norma Lp
Pnorinf=zeros(length(n),1); % Grado de convergencia asociado a norma infinita
Pnormlp=zeros(length(n),2); % Grado de convergencia asociado a normaLp
% Inicio:Cculo de solucion aproximada, errores, grado de convergencia y
% grfico del dominio vs. solucin aproximada y exacta.
% ---------------------------------------------------------------------for k=1:length(n)
h=1/(n(k)-1);
% Inicio: Clculo de nodos equidistantes para cada valor de n.
% -----------------------------------------------------------x=zeros(1,n(k)-2);
for i=2:(n(k)-1)
xx=(i-1)*h;
x(1,i-1)=xx;
end
% Fin: Clculo de nodos equidistantes para cada valor de n.
% --------------------------------------------------------% Valores de alfa, beta, gamma.
% -------------------------------alfa = 1+(25*h);
beta = -2;
gamma= 1-(25*h);
% Matriz tridiagonal A de dimensiones (n-2) x (n-2.
% ------------------------------------------------A=full(gallery('tridiag',n(k)-2,alfa,beta,gamma));
% Vector b.
% --------b=zeros(length(A),1);
1

b(length(A),1)=-gamma;
% Vector u tilda(solucin aproximada).
% -----------------------------------ut=A\b;
% Funcin f( x ).
% --------------f=inline('(exp(50*x)-1)/(exp(50)-1)');
% Evaluacin de la funcin f en x.
% -------------------------------u=(f(x))';
% Dominio en el intervalo [0 1].
% -----------------------------dom=(h:h:(1-h))';
% Grfico del dom vs. solucin aproximada (ut) y solucin exacta(u).
% -----------------------------------------------------------------subplot(2,2,k);...
plot(dom,ut,'m',dom,u,'c','linewidth',2.0)
% Configuracin de nmeros, letras, etiquetas de coordenadas y ttulo del
% grfico.
% ----------------------------------------------------------------------title ( [num2str(n(k)),' nodos equidistantes' ],'FontName'...
,'Times New Roman', 'fontsize' , 15);
set ( gca ,'FontName','Times New Roman', 'fontsize' , 15)
% Calculo de errores.
% ------------------aux=norm((u-ut),inf);
norminf(k,1)=aux;
% Inicio: Clculo de normaLP.
% --------------------------for p=1:2
a=(abs([0;u;1]-[0;ut;1])).^p;
a(1)=a(1)/2;
a(length(a))=a(length(a))/2;
v=(h*sum(a))^(1/p);
normaLP(k,p)=v;
end
% Fin: Clculo de normaLP.
% -----------------------% Inicio: Clculo de P relacionado a la norma infinita.
% ----------------------------------------------------for j=1:(length(norminf)-1)
g=log2(norminf(j)/norminf(j+1));
Pnorinf(j+1,1)=g;
end
% Fin: Clculo de P relacionado a la norma infinita.
% -------------------------------------------------% Inicio: Calculo de P relacionado a la normaLp.
% ---------------------------------------------for r=1:2
for q=1:(length(normaLP)-1)
w=log2(normaLP(q,r)/normaLP(q+1,r));
Pnormlp(q+1,r)=w;
end
end
% Fin: Calculo de P relacionado a la normaLp.
% ------------------------------------------2

end
% Fin:Cculo de solucion aproximada, errores, grado de convergencia y
% grfico del dominio vs. solucin aproximada y exacta.
% -------------------------------------------------------------------% Leyenda del grfico.
% -------------------legend('Solucin aproximada','Solucin exacta','Location','North');
% Matrz de resultados.
% --------------------results=[norminf,Pnorinf,normaLP,Pnormlp];
end

Published with MATLAB 7.11