Metodo De Sor

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Metodo De Sor as PDF for free.

More details

  • Words: 316
  • Pages: 4
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN

ING. EN CIENCIAS DE LA COMPUTACIÓN

Métodos Numéricos PRACTICA # 9 Método De sor PROFESOR: González Flores Marcos

ALUMNOS:  Gómez Hernández Cirino Armando  SERRANO ESCOBAR VÍCTOR

HEROICA PUEBLA DE ZARAGOZA, PUE. NOVIEMBRE DE 2009

Objetivo  Aprender a programar el método de SOR.

Introducción Este método es una variante del de Gauss-Seidel, de igual forma se utiliza en la resolución de un sistema de ecuaciones y es mejor en cuanto a una rápida convergencia.

Desarrollo % Entradas: A→ Matriz. b→ vector solución. maxiter→ Máximo de iteraciones. tol→ Tolerancia. w→ Parámetro acelerador Salidas: x, vector solución o mensaje de error. % Algoritmo Sor(n,A,x0,tol,maxiter,w) para k=1, maxiter para i=1, n tem=bi -sum(A(i,[i-1 i+1,n]*x0([1,i-1 i+1,n])))/Aij xi=tem*w + (1-w)*x0(i) x0(i)=x(i) fin i si norm(x-x0)
Codificación function [A,b,x0] = leeMa(n) for i=1:n

for j=1:n+1 if(j==n+1) fprintf('igual a'); te = input(': ' ); b(i)=te; fprintf('valor inicial x(%d)',i); te2 = input(': ' ); x0(i)=te2; else fprintf('A(%d,%d)',i,j); te = input(': ' ); A(i,j)=te; end end fprintf('\n'); end % Codificación Método SOR function [x] = sor(n,tol,maxiter,w) [A,b,x0]=leeMa2(n) [m n]= size(A); if m~=n, error('Matriz del sistema no cuadrada'), end if m~= length(b), error ('sistema no coherente'),end x=zeros(size(b)); x2=x; if any(abs(diag(A))<eps) error('Metodo no valido. Elemento diagonal nulo') end for k=1:maxiter for i=1:n tem=(b(i)-sum(A(i,[1:i-1 i+1:n])*x0([1:i-1 i+1:n])'))/A(i,i); x(i)=tem*w + (1-w)*x0(i); x0(i)=x(i); end if norm(x-x2)< tol fprintf('\n SOR CONVERGE en %d iteraciones\n',k), return end x2=x; end fprintf('\n SOR NO CONVERGE en %d iteraciones\n',maxiter)

Muestra de ejecución

Conclusiones 

En análisis numérico el método de SOR es un método iterativo, usado para resolver sistemas de ecuaciones lineales del tipo Ax = b.



Este método para converger más rápido que el de Gauss-Seidel, ocupa un término denominado “w”, el cual es un valor „incierto‟ que oscila entre 1 y 2.

Related Documents