Metodos
-
Upload
jhonatan-vc -
Category
Documents
-
view
221 -
download
0
description
Transcript of Metodos
![Page 1: Metodos](https://reader035.fdocuments.ec/reader035/viewer/2022071707/55cf8f10550346703b988608/html5/thumbnails/1.jpg)
"Año de la Diversificación Productiva y del Fortalecimiento de la Educación"
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
(Universidad del Perú, DECANA DE AMÉRICA)
E.A.P. INGENIERIA MECÁNICA DE FLUIDOS
Asignatura: Métodos Numéricos II
Profesor: Ing. Chauca Nolasco William
Alumno: Vallejos Castro Jhonatan
Código: 10130172
Ciclo: VII
Año:
2015Ciudad universitaria 13 de Abril del 2015
![Page 2: Metodos](https://reader035.fdocuments.ec/reader035/viewer/2022071707/55cf8f10550346703b988608/html5/thumbnails/2.jpg)
Tarea
1. Utilizar la ecuación (6) para aproximar la solución de la ecuación de Laplace en los puntos de la región dada.d)u (0 , y )=108∗y2∗(1− y ) u (0 , y )=0 ,0< y<1
u (0 , x )=0 u ( x ,1 )=0 ,0<x<1
Tamaño de paso: h=1/2
Resolviendo el sistema de ecuaciones por el método de Eliminación de Gauss
Eliminación de Gauss
clear allclcfprintf('\n ELIMINACION DE GAUSS')fprintf('\n =====================\n')[a x]=gauss([-4 1 1 0;1 -4 0 1;1 0 -4 1;0 1 1 -4],[-200/27 0 -400/27 0],0.0001)function [x a]=gauss(a,b,tol)[n qq]=size(a);er=0;for i=1:n; s(i)=abs(a(i,1)); for j=2:n; if abs(a(i,j))>s(i) s(i)=abs(a(i,j)); end end % s=s(i);end% call eliminate[a b er]=eliminate(a,s,b,tol,n,er);if er~=(-1) % call sustitute [x]=sustitute(a,n,b);endend function [a s b]=pivot(a,b,s,n,k)p=k;big=abs(a(k,k)/s(k));for ii=k+1:n; T=abs(a(ii,k)/s(ii)); if (T>big) big=T; p=ii; endendif p~=k for jj=k:n; T=a(p,jj); a(p,jj)=a(k,jj); a(k,jj)=T; end
![Page 3: Metodos](https://reader035.fdocuments.ec/reader035/viewer/2022071707/55cf8f10550346703b988608/html5/thumbnails/3.jpg)
T=b(p); b(p)=b(k); b(k)=T; T=s(p); s(p)=s(k); s(k)=T; endend %pivot
function [a b er]=eliminate(a,s,b,tol,n,er)for k=1:n-1; % call pivot [a s b]=pivot(a,b,s,n,k); if abs(a(k,k)/s(k))< tol er=-1; break end for i=k+1:n; factor=a(i,k)/a(k,k); for j=1:n; a(i,j)=a(i,j)-factor*a(k,j); % a=a(i,j); end b(i)=b(i)-factor*b(k); % b=b(i); endend if abs(a(k,k)/s(k))< tol er=-1; endend %eliminate
function [x]=sustitute(a,n,b)x(n)=b(n)/a(n,n);for i=n-1:-1:1; sum=0; for j=i+1:n; sum=sum+a(i,j)*x(j); end x(i)=(b(i)-sum)/a(i,i);end%x=x(i);end %sustitute
![Page 4: Metodos](https://reader035.fdocuments.ec/reader035/viewer/2022071707/55cf8f10550346703b988608/html5/thumbnails/4.jpg)
2. TareaResolviendo el sistema de ecuaciones por el método de Eliminación de Gauss
Eliminación de Gauss
clear allclcfprintf('\n ELIMINACION DE GAUSS')fprintf('\n =====================\n') a=[-4 1 0 1 0 0 0 0 0;1 -4 1 0 1 0 0 0 0;0 1 -4 0 0 1 0 0 0;1 0 0 -4 1 0 1 0 0;0 1 0 1 -4 1 0 1 0;0 0 1 0 1 -4 0 0 1;0 0 0 1 0 0 -4 1 0;0 0 0 0 1 0 1 -4 1;0 0 0 0 0 1 0 1 -4];b=[0 0 -25 0 0 -50 -25 -50 -150];[a x]=gauss(a,b,0.0001)
function [x a]=gauss(a,b,tol)[n qq]=size(a);er=0;for i=1:n; s(i)=abs(a(i,1)); for j=2:n; if abs(a(i,j))>s(i) s(i)=abs(a(i,j)); end end % s=s(i);end% call eliminate[a b er]=eliminate(a,s,b,tol,n,er);if er~=(-1) % call sustitute [x]=sustitute(a,n,b);endend function [a s b]=pivot(a,b,s,n,k)p=k;big=abs(a(k,k)/s(k));for ii=k+1:n; T=abs(a(ii,k)/s(ii)); if (T>big) big=T; p=ii; endendif p~=k for jj=k:n; T=a(p,jj); a(p,jj)=a(k,jj); a(k,jj)=T; end T=b(p); b(p)=b(k); b(k)=T; T=s(p); s(p)=s(k); s(k)=T;
![Page 5: Metodos](https://reader035.fdocuments.ec/reader035/viewer/2022071707/55cf8f10550346703b988608/html5/thumbnails/5.jpg)
endend %pivot
function [a b er]=eliminate(a,s,b,tol,n,er)for k=1:n-1; % call pivot [a s b]=pivot(a,b,s,n,k); if abs(a(k,k)/s(k))< tol er=-1; break end for i=k+1:n; factor=a(i,k)/a(k,k); for j=1:n; a(i,j)=a(i,j)-factor*a(k,j); % a=a(i,j); end b(i)=b(i)-factor*b(k); % b=b(i); endend if abs(a(k,k)/s(k))< tol er=-1; endend %eliminate
function [x]=sustitute(a,n,b)x(n)=b(n)/a(n,n);for i=n-1:-1:1; sum=0; for j=i+1:n; sum=sum+a(i,j)*x(j); end x(i)=(b(i)-sum)/a(i,i);end%x=x(i);end %sustitute
Resultados
![Page 6: Metodos](https://reader035.fdocuments.ec/reader035/viewer/2022071707/55cf8f10550346703b988608/html5/thumbnails/6.jpg)
3. TareaResolviendo el sistema de ecuaciones por el método de Eliminación de Gauss
Eliminación de Gauss
clear allclcfprintf('\n ELIMINACION DE GAUSS')fprintf('\n =====================\n') a=[-4 1 0 1 0 0 0 0 0;1 -4 1 0 1 0 0 0 0;0 1 -4 0 0 1 0 0 0;1 0 0 -4 1 0 1 0 0;0 1 0 1 -4 1 0 1 0;0 0 1 0 1 -4 0 0 1;0 0 0 1 0 0 -4 1 0;0 0 0 0 1 0 1 -4 1;0 0 0 0 0 1 0 1 -4];b=[-30 -20 -80 -40 0 -60 -30 -20 -110];[a x]=gauss(a,b,0.0001)
function [x a]=gauss(a,b,tol)[n qq]=size(a);er=0;for i=1:n; s(i)=abs(a(i,1)); for j=2:n; if abs(a(i,j))>s(i) s(i)=abs(a(i,j)); end end % s=s(i);end% call eliminate[a b er]=eliminate(a,s,b,tol,n,er);if er~=(-1) % call sustitute [x]=sustitute(a,n,b);endend function [a s b]=pivot(a,b,s,n,k)p=k;big=abs(a(k,k)/s(k));for ii=k+1:n; T=abs(a(ii,k)/s(ii)); if (T>big) big=T; p=ii; endendif p~=k for jj=k:n; T=a(p,jj); a(p,jj)=a(k,jj); a(k,jj)=T; end T=b(p); b(p)=b(k); b(k)=T; T=s(p); s(p)=s(k); s(k)=T;
![Page 7: Metodos](https://reader035.fdocuments.ec/reader035/viewer/2022071707/55cf8f10550346703b988608/html5/thumbnails/7.jpg)
endend %pivot
function [a b er]=eliminate(a,s,b,tol,n,er)for k=1:n-1; % call pivot [a s b]=pivot(a,b,s,n,k); if abs(a(k,k)/s(k))< tol er=-1; break end for i=k+1:n; factor=a(i,k)/a(k,k); for j=1:n; a(i,j)=a(i,j)-factor*a(k,j); % a=a(i,j); end b(i)=b(i)-factor*b(k); % b=b(i); endend if abs(a(k,k)/s(k))< tol er=-1; endend %eliminate
function [x]=sustitute(a,n,b)x(n)=b(n)/a(n,n);for i=n-1:-1:1; sum=0; for j=i+1:n; sum=sum+a(i,j)*x(j); end x(i)=(b(i)-sum)/a(i,i);end%x=x(i);end %sustitute
Resultados
![Page 8: Metodos](https://reader035.fdocuments.ec/reader035/viewer/2022071707/55cf8f10550346703b988608/html5/thumbnails/8.jpg)
4. TareaResolviendo el sistema de ecuaciones por el Método de Gauss-Seidel
Método de Gauss-Seidel
clear allclcfprintf('\n METODO DE GAUSS-SEIDEL')fprintf('\n ========================\n') a=[-4 1 0 0 0 0 0 0;1 -4 0 1 0 0 0 0;0 0 -4 1 0 0 1 0;0 1 1 -4 0 0 0 1;0 0 0 0 -4 1 0 0;0 0 0 0 1 -4 1 0;0 0 1 0 0 1 -4 1;0 0 0 1 0 0 1 -4];%b=[-1.5 -1.5 -1.5 -0.5 -1.5 -1.5 -0.5 -0.5];%[a x]=gauss(a,b,0.0001) num=input('INTRODUCE EL NUMERO DE ECUACIONES: ');A=a; %INTRODUCE LA MATRIZ DE COEFICIENTESb=input('INTRIODUCE LA MATRIZ DE COEFICIENTES INDEPENDIENTES: ');z=input('INTRODUZCA EL NUMERO DE ITERACIONES: ');X0=zeros(1,num);X=X0;for f=1:zfor i=1:numsuma=0;for j=1:numif i~=jsuma=suma+A(i,j)*X(j);endendX(i)=(b(i)-suma)/A(i,i);%fprintf('%10.4f', X(i));endX0=X;endfprintf('\n');fprintf(' Ui,j =\n') fprintf('\n %10.4f', X)fprintf('\n')
Resultados
![Page 9: Metodos](https://reader035.fdocuments.ec/reader035/viewer/2022071707/55cf8f10550346703b988608/html5/thumbnails/9.jpg)
5. TareaResolviendo el sistema de ecuaciones por el Método de Gauss-Seidel
Método de Gauss-Seidel
clear allclcfprintf('\n METODO DE GAUSS-SEIDEL')fprintf('\n ========================\n') a=[-4 1 0 1 0 0 0 0 ;1 -4 1 0 1 0 0 0;0 1 -4 0 0 1 0 0;1 0 0 -4 1 0 1 0;0 1 0 1 -4 1 0 1;0 0 1 0 1 -4 0 0;0 0 0 1 0 0 -4 1;0 0 0 0 1 0 1 -4];%b=[-1 -1 -1 -1 -1 -1 -1 -1]; num=input('INTRODUCE EL NUMERO DE ECUACIONES: ');A=a; %INTRODUCE LA MATRIZ DE COEFICIENTESb=input('INTRIODUCE LA MATRIZ DE COEFICIENTES INDEPENDIENTES: ');z=input('INTRODUZCA EL NUMERO DE ITERACIONES: ');X0=zeros(1,num);X=X0;for f=1:zfor i=1:numsuma=0;for j=1:numif i~=jsuma=suma+A(i,j)*X(j);endendX(i)=(b(i)-suma)/A(i,i);%fprintf('%10.4f', X(i));endX0=X; endfprintf('\n');fprintf(' Ui,j =\n') fprintf('\n %10.4f', X)fprintf('\n');
Resultados