Doc.gauss Seidel

12
INSTITUTO TECNOLOGICO DE NOGALES TRABAJO: ALGORITMOS DE INTEGRACION EN MATLAB ALUMNO: Victor Tomas Montes Garcia PROFESOR: Ing. INGENIERIA CIVIL FECHA:

description

gauss seidel en matlab

Transcript of Doc.gauss Seidel

INSTITUTO TECNOLOGICO DE NOGALES

TRABAJO:ALGORITMOS DE INTEGRACION EN MATLAB

ALUMNO:Victor Tomas Montes Garcia

PROFESOR:Ing.

INGENIERIA CIVIL

FECHA: 07/mayo/2015

1. Introduccin1.1. MTODO DE GAUSS-SEIDELEl mtodo de eliminacin para resolver ecuaciones simultneas suministra soluciones suficientemente precisas hasta para 15 o 20 ecuaciones. El nmero exacto depende de las ecuaciones de que se trate, del nmero de dgitos que se conservan en el resultado de las operaciones aritmticas, y del procedimiento de redondeo. Utilizando ecuaciones de error, el nmero de ecuaciones que se pueden manejar se puede incrementar considerablemente a ms de 15 o 20, pero este mtodo tambin es imprctico cuando se presentan, por ejemplo, cientos de ecuaciones que se deben resolver simultneamente. El mtodo de inversin de matrices tiene limitaciones similares cuando se trabaja con nmeros muy grandes de ecuaciones simultneas.Sin embargo, existen varias tcnicas que se pueden utilizar, para resolver grandes nmeros de ecuaciones simultneas. Una de las tcnicas ms tiles es elmtodo de Gauss-Seidel. Ninguno de los procedimientos alternos es totalmente satisfactorio, y el mtodo de Gauss-Seidel tiene la desventaja de que no siempre converge a una solucin o de que a veces converge muy lentamente. Sin embargo, este mtodo convergir siempre a una solucin cuando la magnitud del coeficiente de una incgnita diferente en cada ecuacin del conjunto, sea suficientemente dominante con respecto a las magnitudes de los otros coeficientes de esa ecuacin.Es difcil definir el margen mnimo por el que ese coeficiente debe dominar a los otros para asegurar la convergencia y es an ms difcil predecir la velocidad de la convergencia para alguna combinacin de valores de los coeficientes cuando esa convergencia existe. No obstante, cuando el valor absoluto del coeficiente dominante para una incgnita diferente para cada ecuacin es mayor que la suma de los valores absolutos de los otros coeficientes de esa ecuacin, la convergencia est asegurada. Ese conjunto de ecuaciones simultneas lineales se conoce comosistema diagonal.Un sistema diagonal es condicin suficiente para asegurar la convergencia pero no es condicin necesaria. Afortunadamente, las ecuaciones simultneas lineales que se derivan de muchos problemas de ingeniera, son del tipo en el cual existen siempre coeficientes dominantes.La secuencia de pasos que constituyen el mtodo deGauss-Seideles la siguiente:1. Asignar un valor inicial a cada incgnita que aparezca en el conjunto. Si es posible hacer una hiptesis razonable de stos valores, hacerla. Si no, se pueden asignar valores seleccionadosarbitrariamente. Los valores iniciales utilizados no afectarn la convergencia como tal, pero afectarn el nmero de iteraciones requeridas para dicha convergencia.2. Partiendo de la primera ecuacin, determinar un nuevo valor para la incgnita que tiene el coeficiente ms grande en esa ecuacin, utilizando para las otras incgnitas los valores supuestos.3. Pasar a la segunda ecuacin y determinar en ella el valor de la incgnita que tiene el coeficiente ms grande en esa ecuacin, utilizando el valor calculado para la incgnita del paso 2 y los valores supuestos para las incgnitas restantes.4. Continuar con las ecuaciones restantes, determinando siempre el valor calculado de la incgnita que tiene el coeficniente ms grande en cada ecuacin particular, y utilizando siempre los ltimos valores calculados para las otras incgnitas de la ecuacin. (Durante la primera iteracin, se deben utilizar los valores supuestos para las incgnitas hasta que se obtenga un valor calculado). Cuando la ecuacin final ha sido resuelta, proporcionando un valor para la nica incgnita, se dice que se ha completado una iteracin.5. Continuar iterando hasta que el valor de cada incgnita, determinado en una iteracin particular, difiera del valor obtenido en la iteracin previa, en una cantidad menor que ciertoseleccionado arbitrariamente. El procedimiento queda entonces completo.Refirindonos al paso 5, mientras menor sea la magnitud delseleccionado, mayor ser la precisin de la solucin. Sin embargo, la magnitud delepsilonno especifica el error que puede existir en los valores obtenidos para las incgnitas, ya que sta es una funcin de la velocidad de convergencia. Mientras mayor sea la velocidad de convergencia, mayor ser la precisin obtenida en los valores de las incgnitas para undado.

2. Ejercicio resuelto aplicado a la ingeniera civil

Este proceso continua dndonos como resultadoX=200Y=100Que son las toneladas de material necesarias que se deben extraer de cada mina para obtener 4 toneladas de nquel y 9 toneladas de cobre.3. Codigo Gauss-Seidel Matlab

% solve the sistem of linear equations using Gauss-seidel:% 0.01x1+0.02x2=4% 0.02x1+0.05x2=9%initial velues: x2=0%iterate unitil the value of error for x1 is less than 0.01%% x1=(4-0.02x2)/0.01% x2=(9-0.02x1)/0.05 clear;clc;format('long','g');i=1;x2(i)=0;error_x1(i)=9999; while error_x1(i) >= 0.01 x1(i+1)=(4-0.02*x2(i))/0.01; x2(i+1)=(9-0.02*x1(i+1))/0.05; error_x1(i+1)=abs((x1(i+1)-x1(i))/x1(i+1))*100; error_x2(i+1)=abs((x2(i+1)-x2(i))/x2(i+1))*100; i=i+1;end disp(' x1 error(%)');disp([x1',error_x1'])disp(' x2 error(%)');disp([x2',error_x2'])

4. Ejercicio ejecutado en Matlab

x1 error(%) 0 9999 400 100 360 11.1111111111111 328 9.75609756097561 302.4 8.46560846560847 281.92 7.2644721906924 265.536 6.17016148469509 252.4288 5.19243446072715 241.94304 4.33397877450825 233.554432 3.5917143289321 226.8435456 2.95837661250168 221.47483648 2.42407182925489 217.179869184 1.97760838153982 213.7438953472 1.60751905041249 210.99511627776 1.30276904884444 208.796093022208 1.05319176413809 207.036874417766 0.849712694605206 205.629499534213 0.684422656642774 204.503599627371 0.550552610758021 203.602879701896 0.442390562841184 202.882303761517 0.355169439137648 202.305843009214 0.284945181873541 201.844674407371 0.228476972799382 201.475739525897 0.183116281068058 201.180591620717 0.146707941756032 200.944473296574 0.117504263874416 200.755578637259 0.0940918606581326 200.604462909807 0.0753301921900955 200.483570327846 0.0603004933340811 200.386856262277 0.0482636772556597 200.309485009821 0.0386258556111592 200.247588007857 0.0309102359634116 200.198070406286 0.0247343051163867 200.158456325029 0.0197913602974493 200.126765060023 0.0158355955017881 200.101412048018 0.0126700815077078 200.081129638415 0.010137092708496 200.064903710732 0.00811033188828114

x2 error(%) 0 0 20 100 36 44.4444444444444 48.8 26.2295081967213 59.04 17.3441734417344 67.232 12.1846739647787 73.7856 8.88194986555641 79.02848 6.63416530344504 83.222784 5.039850625521 86.5782272 3.87562012819777 89.26258176 3.00725624004179 91.410065408 2.34928575799057 93.1280523264 1.84475770241463 94.50244186112 1.4543428800917 95.601953488896 1.15009326446839 96.4815627911168 0.911686416320971 97.1852502328934 0.724068148294448 97.7482001863147 0.575918484788777 98.1985601490518 0.458621757848047 98.5588481192414 0.365556190098465 98.8470784953931 0.291592205393455 99.0776627963145 0.232730864266958 99.2621302370516 0.185838688225369 99.4097041896413 0.148450248185186 99.527763351713 0.118619326001073 99.6222106813704 0.0948054946897967 99.6977685450963 0.075786915623635 99.7582148360771 0.060592795370347 99.8065718688617 0.0484507501651609 99.8452574950893 0.0387455821119774 99.8762059960715 0.0309868608578964 99.9009647968572 0.0247833450217926 99.9207718374857 0.0198227458258272 99.9366174699886 0.0158556822353967 99.9492939759909 0.0126829370153814 99.9594351807927 0.0101453202326223 99.9675481446342 0.00811559750343331 99.9740385157073 0.00649205650740029