Sei sulla pagina 1di 15

Departamento de Ingeniera Matemtica.

Facultad de Ingeniera y Ciencias


Universidad de La Frontera

ANLISIS NUMRICO Y OPTIMIZACIN


TAREA N1

Autor

Pedro Cachaa
Jos Epuyao

Profesores

Juan Alfredo Gomez


Leonardo Villegas

Temuco, 05 de Mayo de 2017


INTRODUCCIN

En las ciencias exactas, siempre se ha buscado una respuesta lo ms cercano a la realidad, es por
este motivo, que los mtodos numricos se han convertido en ese fiel aliado, debido a esa bsqueda
tenaz de lo ms preciso numricamente, sea cual sea el rea de la ciencia estudiada, fsica,
matemtica o qumica, siempre se busca lo correcto, as, los mtodos numricos importan en la
formacin de un profesional de las ciencias exactas.

Por esta razn es necesario, dentro de la formacin de un ingeniero y sin importar la especialidad
que tenga, contar con una base numrica en su formacin, de esta forma poder desenvolverse de
mejor manera en cualquier tarea que se le encomiende, ya sea algn anlisis que necesite estudiar
y para ello recurrir a varias tcnicas estudiadas. A continuacin en el siguiente informe, se realizar
un breve estudio de dichas tcnicas, como la conversin en sistemas numricos, el clculo de
errores y aproximaciones, y por ltimo un estudio de varios mtodos numricos en las ecuaciones
no lineales. Adems para un mejor entendimiento y anlisis de estos mtodos y tcnicas antes
mencionadas, se utilizar la herramienta computacional Matlab, donde se llevarn a cabo las
lneas de cdigos para el clculo y obtencin de valores.
DESARROLLO

De forma de poder comprender mejor el desarrollo de las actividades, los mtodos numricos fueron
diseados en el software Matlab antes mencionados. Para comenzar se advierte que la aritmtica
del computador juega un rol importante en el manejo de los mtodos de manera prctica.

1. Representacin numrica

Pasar de un sistema numrico a otro resulta de mucha utilidad en varias reas significativas
dentro de la ingeniera, las bases ms utilizadas, sin contar el decimal, son la binaria, octal y
hexadecimal. Junto con ello, la representacin de un nmero en notacin punto flotante, en los
mtodos numricos, recibe una gran importancia.

De esta forma, en el apartado a) de esta seccin, se llevar a cabo la transformacin de


nmeros en base decimal a otro sistema y luego sern expresados en punto flotante. Por otro
lado en el apartado b) se transformar nmeros de cualquier base a una base 10 y luego se
determinar el error cometido en cada uno de los clculos.

a) Programa que recibe un nmero en base decimal (base 10) y lo transforma en un


nmero punto flotante en cualquier otra base (2, 3, 4, 5, 6, 7, 8, o 9).

La siguiente tabla muestra los valores obtenidos al transformar un nmero en base decimal
(base 10) a una base cualquiera (2, 3, 4, 5, 6, 7, 8 o 9) y muestra el nmero convertido y
expresado en punto flotante.

Se utilizara las lneas de cdigo en Matlab, dentro del archivo cambioBase.m.

Nmero Base a convertir Nmero convertido expresado en punto flotante


64 2 01000000.00000
200 6 00000532.00000
6.5 3 00000020.11111
3.1415 2 00000011.00100
391625.125 5 00013000.03030
99.99999 9 00000120.88888
Tabla 1. Valores debido al cambio de base 10 a un nmero punto flotante
en otra base.
b) Programa que transforma el nmero en cualquier base a una base 10 y calcula el error
cometido.

La siguiente tabla muestra la transformacin de un nmero en cualquier base a uno en base


10 y el clculo del error cometido por la aritmtica del computador.

Se utilizara el cdigo en Matlab, ubicado en el archivo BaseaDecimal.m. Donde como


datos de entrada es necesario ingresar:
s como un vector de la parte entera (siempre positiva)
decinum como un vector de la parte decimal (siempre positiva)
b como la base del nmero ingresado (siempre positiva)
n como el nmero que debe resultar al final de la conversin (siempre positivo)

Nmero original Nmero devuelto Clculo del error cometido


64 64 0
200 200 0
6.5 6.497942386831276 0.002057613168724
3.1415 3.125000000000000 0.016500000000000
391625.125 3.916251248000000 + 05 2.000000094994903 04
99.99999 99.999983064912172 6.935087824899711 06

Tabla 2. Valores debido al cambio de un nmero de cualquier base a uno en


base 10 y el error cometido.

2. Errores y aproximacin de funciones

Los mtodos numricos son empleados para realizar aproximaciones de problemas que
pueden ser resueltos (o aproximados) mediante ciertos algoritmos definidos, dichos mtodos
nos permiten resolver problemas tales como sistemas de ecuaciones lineales o no lineales,
problemas geomtricos de clculo infinitesimal, ecuaciones diferenciales, entre otros, que a
menudo seran difciles de resolver analticamente.

Como es de notar, cualquier valor que sea tan solo una aproximacin, sea por el mtodo que
sea, conlleva consigo un margen de error con respecto al valor real de la solucin o la variable
que se intenta resolver, en esta oportunidad se desarrollar el clculo respectivo a la
propagacin de errores respecto a dos variables.

En funciones que sean dependientes de ms de una variable independiente, se realiza con una
versin para varas variables de la serie de Taylor.

Para la siguiente seccin se considera la funcin:


cos()+()
(, ) = (1)
cos() + ()

Se utilizara el cdigo en Matlab, ubicado en el archivo error.m.

En el siguiente caso para el clculo de la propagacin del error absoluto, se consideran dos
variables y la ecuacin queda como sigue:


(, ) = | |+| | (2)

En base al cdigo utilizado y la ecuacin () de la propagacin del error absoluto, el resultado



de (, ) para los valores = 4 0,05 e = 4 0,1 es de:

(, ) = 0,102831259469573 (3)

3. Ecuaciones no lineales

Como ya se han visto los mtodos que existen para poder resolver sistemas de ecuaciones
lineales, se trabajara la resolucin de algunos de los sistemas no lineales empleando estos
mtodos. Es muy importante elegir el mtodo adecuado, ya que en caso contrario su resolucin
podra ser muy pesada, difcil y por tanto con facilidad de cometer errores.

Para la solucin de esta seccin, se utilizar los mtodos de Biseccin, Newton con Biseccin,
Descomposicin PLU y sustitucin hacia adelante y hacia atrs y Eliminacin de Gauss.

1) Considere la siguiente ecuacin no lineal

() = ln( 2 + 1) /2 cos() (4)


a) Grafique en MATLAB la curva en el intervalo [, ] y determine los intervalos [ , ]
(extremos enteros) tales que existe una raz en el interior de l.

Por medio de la ecuacin (), se obtiene la siguiente grfica de ():

Figura 1. Grfica () = ln( 2 + 1) /2 cos(), en Matlab.

Mediante el grfico de (), se puede observar los intervalos donde se producen cortes
con el , es decir, las races de la funcin, donde () = 0.

La siguiente tabla muestra los intervalos donde existen races de ():

Intervalo [ , ]
1 -1 0 [1,0]
2 0 1 [0,1]
3 1 2 [1,2]
4 2 3 [2,3]
5 3 4 [3,4]
6 4 5 [4,5]
7 5 6 [5,6]

Tabla 3. Intervalos de existencia de races.


b) Programe en Matlab el mtodo de Biseccin para () y aproxime las soluciones
con un error menor a usando los intervalos hallados en el inciso a).

El mtodo de biseccin es un algoritmo de bsqueda de races que trabaja dividiendo el


intervalo a la mitad y seleccionando el sub intervalo que tiene la raz. Es uno de los
mtodos ms sencillos y de fcil intuicin para resolver ecuaciones en una variable.

Para el clculo de los valores () y se utiliza el cdigo en Matlab, el cual se nombrar


como funcionBiseccion.m.

Considerando los intervalos [ , ] obtenidos de la grfica de (), se utiliza el mtodo


de biseccin y se obtienen los siguientes resultados:

Intervalo ()
[1,0] 3.385724599291873 07 0.431911468505859
[0,1] 9.541940351187606 07 0.452530860900879
[1,2] 5.352252236967559 07 1.697088241577148
[2,3] 1.235633619312004 05 2.302209854125977
[3,4] 2.968119895463417 05 3.641572952270508
[4,5] 6.086515814596183 05 4.391277313232422
[5,6] 1.316638271360304 04 5.568683624267578

Tabla 4. Valores obtenidos mediante mtodo de biseccin.

a) Programe en MATLAB el algoritmo de Newton con biseccin para (). Con los
siguientes datos de entrada: la precisin ( ) y el punto inicial, en los intervalos
hallados en el inciso a) (tomar x0 igual a en cada intervalo).

El mtodo de Newton-Raphson es un mtodo abierto, en el sentido de que su


convergencia global no est garantizada la nica manera de alcanzar la convergencia
es seleccionar un valor inicial lo suficientemente cercano a la raz buscada.

Considerando los intervalos [ , ] obtenidos de la grfica de (), se utiliza el mtodo


de Newton con Biseccin y se obtienen los siguientes valores:

Intervalo
[1,0] 0.431911519352038
[0,1] 0.452531099319458
[1,2] 1.697088718414307
[2,3] 2.302211284637451
[3,4] 3.641574561595917
[4,5] 4.391280174255371
[5,6] 5.568681031465530

Tabla 5. Valores obtenidos mediante mtodo newton con biseccin.


2) Considere los siguientes sistemas de ecuaciones

La siguiente expresin matemtica se denominara como Ecuacin 1:

1
21 + 2 + 2 3 = 4
1 { 2 1 = 4
1 2 2 3
2 + 23 = 0

El sistema = , donde y estn definidos por:

2 =

1 =
1/ | | = 2
1
= 1/ | | = 4 = {
1
1/( + ) | | = 6
{ 0
a) Programe la matriz ( es una matriz que pertenece a ).

Para la obtencin de la matriz se utiliza la rutina en Matlab, ubicada en el archivo


MatrizAxb.m.

La siguiente rutina en Matlab muestra la obtencin de la matriz , y .


C=input('Ingrese dimension de la matriz: ');
i=0;
j=0;
D=C;
A=zeros(D); %se crea una matriz de ceros para guardar los componentes
[n,m]=size(A);
while i<D %Se genera la matriz independiente b
i=i+1;
j=1;
if rem(i,2)==0 %se calcula el resto
B(i)=1;
else
B(i)=-1;
end
while j<=D %se genera la matriz A
if abs(i-j)==2
A(i,j)=1/i;
end
if abs(i-j)==4
A(i,j)=1/j;
end
if abs(i-j)==6
A(i,j)=1/(i+j);
end
if i==j
A(i,j)=1;
end
j=j+1;
end
end
b=B';
A;
fprintf('\nMATRIZ TERMINOS INDEPENDIENTES b\n\n')
disp(b)
fprintf('\nMATRIZ A\n\n')
disp(A)
Ab=[A B'];
fprintf('\nMATRIZ AMPLIADA Ab\n')
disp(Ab)

b) Programe una rutina que resuelva el sistema = usando la descomposicin


PLU de MATLAB y las sustituciones hacia adelante y hacia atrs (resolver para
ambas matrices).

c) Programe una rutina que resuelva el sistema = usando la eliminacin de


Gauss (resolver para ambas matrices).

El mtodo de gauss es un mtodo que se basa en transformar un sistema de ecuaciones


en otro correspondiente de una manera en que este sea escalonado; este mtodo es
utilizado para resolver problemas matemticos fundamentados en problemas de
ecuaciones lineales.

Mediante la rutina en Matlab Gauss2.m se resuelve la matriz = de la ecuacin


2 y para la matriz de la ecuacin 1 se utiliza la rutina Gauss1.m.
Resolucin del sistema de ecuacin 1

Se resuelve el sistema de la 1 mediante el mtodo de gauss:

1
21 + 2 + 3 = 4
2
1
1 22 3 = 4
2
{ 2 + 23 = 0

Al finalizar el mtodo de Gauss, la matriz ampliada de la 1 queda de la siguiente


forma:

2.0000 1.0000 0.5000 4.0000



Ab 0 1.5000 0.2500 2.0000
1.8333 1.3333
0 0

La siguiente tabla muestra los resultados del sistema:


1 1.4545
2 1.4545
3 0.7273

Tabla 6. Valores resultantes del sistema ecuacin 1.


Resolucin del sistema de para =

Se resuelve el sistema de la 2 mediante el mtodo de gauss:

1 0 1 0 0.2 0 0.125 0 0 0

0 1 0 0.5 0 0.1667 0 0.1 0 0
0.3333 0 1 0 0.3333 0 0.1429 0 0.0833 0

0 0.25 0 1 0 0.25 0 0.125 0 0.0714
1 0 0.2 0 1 0 0.2 0 0.1111 0
=
0 0.5 0 0.1667 0 1 0 0.1667 0 0.1

0.125 0 0.3333 0 0.1429 0 1 0 0.1429 0
0 0.1 0 0.25 0 0.125 0 1 0 0125

0 0 0.0833 0 0.2 0 0.1111 0 1 0
0 1
0 0 0.0714 0 0.1667 0 0.1 0
Figura 2. Matriz Ax ecuacin 2 para n=10.

1

1
1

1
1
=
1

1
1

1
1

Figura 3. Matriz bx ecuacin 2 para n=10.

Al finalizar el mtodo de Gauss la matriz ampliada = resulta ser:

1.0000 0 1.0000 0 0.2000 0 0.1250 0 0 0 1.0000



0 1.0000 0 0.5000 0 0.1667 0 0.1000 0 0 1.0000
0 0 0.6667 0 0.2667 0 0.1012 0 0.0833 0 0.6667

0 0 0 0.8750 0 0.2083 0 0.1000 0 0.0714 0.7500
0 0 0 0 1.1200 0 0.1964 0 0.2111 0 0.8000

0 0 0 0 0 0.9365 0 0.1262 0 0.1068 0.5714



0 0 0 0 0 0 09467 0 0.1103 0 0.6420
0 0 0 0 0 0 0 0.9590 0 0.1017 0.6915

0 0 0 0 0 0 0 0 0.9501 0 0.7507
0 0.7958
0 0 0 0 0 0 0 0 0.9695
Figura 4. Matriz final ecuacin 2 para n=10.
La siguiente tabla muestra los resultados del sistema:


1 0.2070
2 0.5572
3 0.6273
4 0.6150
5 0.4626
6 0.4311
7 0.5861
8 0.6340
9 0.7901
10 0.8208

Tabla 7. Valores resultantes del sistema ecuacin 2 para n=10.

Resolucin del sistema de para =

Se resuelve el sistema de la 2 mediante el mtodo de gauss:

1 0 1 0 0 .2 0 0.125 0 0 0 0 0 0 0 0

0 1 0 0 .5 0 0.1667 0 0.1 0 0 0 0 0 0 0
0.3333 0 1 0 0.3333 0 0.1429 0 0.0833 0 0 0 0 0 0

0 0.25 0 1 0 0.25 0 0.125 0 0.0714 0 0 0 0 0
1 0 0. 2 0 1 0 0 .2 0 0.1111 0 0.0625 0 0 0 0

0 0 .5 0 0.1667 0 1 0 0.1667 0 0 .1 0 0.0556 0 0 0



0.125 0 0.3333 0 0.1429 0 1 0 0.1429 0 0.0909 0 0.05 0 0
0 0 .1 0 0.25 0 0.125 0 1 0 0.125 0 0.0833 0 0.0455 0

0 0 0.0833 0 0 .2 0 0.1111 0 1 0 0.1111 0 0.0769 0 0.0417
0 0 0 0.0714 0 0.1667 0 0.1 0 1 0 0.1 0 0.0714 0

0 0 0 0 0.0625 0 0.1429 0 0.0909 0 1 0 0.0909 0 0.0667
0 0 0 0 0 0.0556 0 0.125 0 0.0833 0 1 0 0.0833 0

0 0 0 0 0 0 0.05 0 0.1111 0 0.0769 0 1 0 0.0769

0 0 0 0 0 0 0 0.0455 0 0 .1 0 0.0714 0 1 0
0 1
0 0 0 0 0 0 0 0.0417 0 0.0909 0 0.0667 0
Figura 5. Matriz Ax ecuacin 2 para n=15.
1

1
1

1
1

1

1
1

1
1

1
1

1

1
1

Figura 6. Matriz bx ecuacin 2 para n=15.

Al finalizar el mtodo de Gauss la matriz ampliada = resulta ser:

1 0 1 0 0 .2 0 0.125 0 0 0 0 0 0 0 0 1

0 1 0 0 .5 0 0.1667 0 0.1 0 0 0 0 0 0 0 1
0 0 0.6667 0 0.2667 0 0.1012 0 0.0833 0 0 0 0 0 0 0.6667

0 0 0 0.875 0 0.2083 0 0.1 0 0.0714 0 0 0 0 0 0.75
0 0 0 0 1.12 0 01964 0 0.2111 0 0.0625 0 0 0 0 0.8

0 0 0 0 0 0.9365 0 01262 0 0.1068 0. 0.0556 0 0 0 0.5714



0 0 0 0 0 0 0.9467 0 0.1103 0 0.0890 0 0.05 0 0 0.642
0 0 0 0 0 0 0 0.959 0 0.1017 0 0.0797 0 0.0455 0 0.6915

0 0 0 0 0 0 0 0 0.9501 0 0.0953 0 0.0733 0 0.0417 0.7507
0 0 0 0 0 0 0 0 0 0.9695 0 0.0852 0 0.068 0 0.7958

0 0 0 0 0 0 0 0 0 0 0.9777 0 0.0790 0 0.0639 0.8155
0 0 0 0 0 0 0 0 0 0 0 0.9813 0 0.0732 0 0.8284

0 0 0 0 0 0 0 0 0 0 0 0 0.9843 0 0.0683 0.8315

0 0 0 0 0 0 0 0 0 0 0 0 0 0.9867 0 0.839
0 0.8471
0 0 0 0 0 0 0 0 0 0 0 0 0 0.9886
Figura 7. Matriz final ecuacin 2 para n=15.
La siguiente tabla muestra los resultados del sistema:


1 0.1849
2 0.5568
3 0.6589
4 0.6406
5 0.4703
6 0.4118
7 0.4972
8 0.5424
9 0.6203
10 0.6926
11 0.7147
12 0.7807
13 0.7853
14 0.8503
15 0.8568

Tabla 7. Valores resultantes del sistema ecuacin 2 para n=15.


CONCLUSIONES

En sntesis, la representacin numrica en distinta base da una mirada del funcionamiento de los
nmeros en otras bases, donde el error mayoritariamente se da en la aproximacin de decimales,
pero como estos valores al compararlos con los valores originales son relativamente ms pequeos,
el error no alcanza grandes nmeros.

Al analizar la seccin de errores y aproximaciones de este estudio, se puede apreciar la propagacin


del error producido por la funcin (), la cual nos indica el efecto de variables de incertidumbre en
la funcin. Cuando las variables son los valores de mediciones experimentales tienen incertidumbre
debido a la medicin de limitaciones, que se propagan a la combinacin de estas variables.

En ecuaciones no lineales se dividi en dos incisos, en el primero de estos se pudo comprobar la


convergencia del mtodo de biseccin y luego se contrasto con la de una mezcla entre newton y
biseccin, donde el problema que tiene el mtodo de newton radica en que si no converge entonces
se aleja de la finalidad propuesta, sin embargo, al unir ambas tcnicas, esto resulta en un mutuo
complemento, causando un resultado ms que ptimo.

Al usar el mtodo de Gauss, nos permite una rpida y eficiente solucin de los sistemas de
ecuaciones no lineales, El mtodo de gauss es un mtodo que se basa en transformar un sistema
de ecuaciones en otro correspondiente de una manera en que este sea escalonado; este mtodo
es utilizado para resolver problemas matemticos fundamentados en problemas de ecuaciones
lineales.

As, se comprob la eficiencia de tales mtodos estudiados y por consiguiente se reafirma la


importancia de los mtodos numricos.

Potrebbero piacerti anche