Apuntes
Sin título
Contenido del apunte (1)
Página 1
Solución
de Ecuaciones en una variable
MARCO TEÓRICO.
.
En la ingeniería es usual encontrar modelos que simulan
un comportamiento de una variable con respecto a otra, y puede llegar a ser
necesario solucionar ecuaciones relacionadas con esos modelos del tipo:
Sin embargo puede no ser posible hallar los números reales que cumplan
la igualdad por lo cual suelen usarse herramientas computacionales basadas en
algoritmos que se aproximan a dichas soluciones. Algunos de estos métodos
como el método de la bisección y el método de Newton buscan valores para los
cuales la función se hace cero, estos números son conocidos como la o las
raíces de una función. Usualmente suelen ser métodos iterativos en los cuales
se debe exigir ciertas condiciones para garantizar que el método se acerque a
la solución de la ecuación solicitada. Por lo cual para el ejemplo del tipo
Despejamos simplemente uno de los lados de la igual obteniendo una
expresión del tipo
Para poder aplicar los algoritmos anteriormente nombrados.
Método de bisección
El método de
Bisección es uno de los métodos más sencillos para resolver ecuaciones en una
variable. Se basa en el teorema del valor intermedio, el cual establece que
toda función continua f en un intervalo cerrado [a,b] toma todos los
valores que se hallan entre f(a) y f(b). Esto es
que todo valor entre f(a) y f(b) es la imagen de
al menos un valor en el intervalo [a,b]. En caso de que f(a) y f(b)
tengan signos opuestos, el valor cero sería un valor intermedio entre f(a)
y f(b), por lo que con certeza existe un p en [a,b] que
cumple f(p) = 0. De esta forma, se asegura la existencia de al
menos una solución de la ecuación f(x) = 0.
· VENTAJA: Con seguridad
se va a acercar a la solución de la raíz
· DESVENTAJA: Aun cuando
converge, si los números son muy distantes puede tomar mucho tiempo encontrar
la raíz.
El método
consiste en tomar dos valores que cumplan la condición que al ser evaluados tengan
valores distintos. Luego se toma el nuevo valor como el punto medio entre los
dos números y se revisa el valor que toma la función en ese número. Si la
función obtiene el valor nulo en ese número el método termina, caso contrario
se reemplaza el valor inicial que tenga el mismo signo de la función obtenida
al evaluar el valor en el punto medio, y se realiza la misma operación.
Método de punto
fijo:
Un punto fijo es
un valor real para una función que cumpla la condición siguiente: , es
decir al reemplazar el número en la función se obtiene el mismo número. Para
el caso de algunas ecuaciones o de modelos de estabilidad relacionados con la
economía se desean hallar puntos fijos para estabilizar los procesos
obteniendo resultados óptimos.
· VENTAJA:
Al igual que el método de bisección se puede asegurar la convergencia cuando
todos los valores de la función es un subconjunto del intervalo inicial, y
sí la derivada en todo punto del intervalo es menor a 1.
· DESVENTAJA: La cantidad de
condiciones exigidas reduce enormemente la posibilidad de hallar dicho valor,
y en muchas ocasiones no converge.
El método consiste
en tomar un número real, y aplicar el valor de la función. Si dicho valor es
igual al número real tomado el método termina, caso contrario al nuevo número
se aplica la función nuevamente y se realiza dicha comparación.
Método de
Newton-Raphson
El método de Newton-Raphson es uno de los métodos
más populares y utilizados para realizar la búsqueda de raíces de una función
general. La idea consiste en hallar los puntos de corte de rectas tangentes a
la curva descrita por la función y el eje , de tal manera que se
vaya aproximando los resultados al valor donde es nula.
· VENTAJA: La convergencia
es muy rápida.
· DESVENTAJA: La convergencia
depende de la escogencia del punto donde inicia la iteración y que la función
admita derivada, y si la función presenta múltiples puntos de inflexión o
pendientes grandes en el entorno de la raíz, entonces la probabilidad de que
el algoritmo diverja aumenta.
El método busca aproximar la raíz mediante la
sucesión recursiva:
(1)
Donde el valor es el punto inicial donde va a iniciar la
sucesión.
PROCEDIMIENTO A UTILIZAR:
Ejecutar MATLAB (Inicio – Todos los
programas – buscar MATLAB).
Una vez cargada la ventana de MATLAB,
vamos a la parte superior izquierda y damos clic en el editor (Archivo –
Nuevo)
PARA CADA UNO DE LOS
PROGRAMAS SE DEBE CREAR UN ARCHIVO .M NUEVO
Elabore un programa que vaya
realizando los siguientes pasos:
a.
Método
de la Bisección:
1. Pregunte la función y guárdela
mediante los comandos inline e input en la variable f.
2. Pregunte el valor del extremo inferior del
intervalo [a,b] y guárdela mediante el comando input en la variable a.
3. Pregunte el valor del extremo superior del
intervalo [a,b] y guárdela mediante el comando input en la variable b.
4. Como se va a considerar una respuesta
aproximada con cierto error debe preguntar el valor del error tolerado y guárdela
mediante el comando input en la variable tol.
5. Para evitar que el programa se quede
haciendo una cantidad muy grande de operaciones mientras determina la raíz
que cumpla con la tolerancia debe preguntar el máximo número de iteraciones
que se van a permitir y guárdela mediante el comando input en la variable maxiter.
6. Realice la operación f(a)*f(b) y mediante
un if
finalice el programa si ambos
valores poseen el mismo signo mostrando dicho mensaje en la pantalla con el
comando fprintf seguido por el
comando return..
7. Mediante el comando for realice un ciclo
para una variable k variando desde 1
hasta el máximo número de iteraciones que hemos permitido donde se realizará
lo siguiente:
8. Defina la variable c como el punto medio
entre los valores de a y b. (Recordar que el
punto medio coincide con el promedio de los dos números)
9. Usando el comando if verifique si el
valor de f(m) en valor absoluto,
es menor que el valor de tol ya
que de ser así, el programa debe terminar enviando un mensaje mediante el
comando fprintf que se ha
encontrado una raíz en el punto m
con un error absoluto de f(m) en
valor absoluto.
10. Si la sentencia del numeral 9 no es válida
determine cuál de las variables a
ó b, debe ser reemplazada debido a
que coincide con el signo de la función en c Para ello realice el siguiente if.
if (f(c)*f(a)>0)
a=c;
else
b=c;
end
11. Finalice el ciclo del numeral 7 con un end.
12. Si al cumplir el ciclo no se ha alcanzado la
raíz con la aproximación deseada muestre en la pantalla mediante el comando fprintf un mensaje donde indique el
valor obtenido después del límite permitido y el error que este valor puede
tener.
b.
Método
del punto fijo:
1. Pregunte la función y
guárdela mediante los comando inline
e input en la variable f.
2. Pregunte el valor inicial y guárdela
mediante el comando input en la
variable x.
3. Como se va a considerar una respuesta
aproximada con cierto error debe preguntar el valor del error tolerado y guárdela
mediante el comando input en la
variable tol.
4. Para evitar que el programa se quede
haciendo una cantidad muy grande de operaciones mientras determina la raíz
que cumpla con la tolerancia debe preguntar el máximo número de iteraciones
que se van a permitir y guárdela mediante el comando input en la variable maxiter.
5. Genere un ciclo mediante el comando for
para una variable k que inicie
desde 1 hasta el máximo número de iteraciones que se ha permitido donde se
realicen las siguientes operaciones.
6.
Mediante
el comando if verifique si la diferencia en valor absoluto del valor en x y su imagen por la función f(x) es menor que el error tol.
Si es verdadera envíe un mensaje donde indique que se ha encontrado el punto
fijo de la función en el valor x con un error correspondiente a
la diferencia del punto y su valor funcional en valor absoluto.
7. Redefina la variable x con el valor de fx.
8.
Finalice
el ciclo del numeral 5 con el comando end.
9.
Si
al cumplir el ciclo no se ha alcanzado el punto fijo con la aproximación
deseada muestre en la pantalla mediante el comando fprintf un mensaje donde indique el valor obtenido después del
límite permitido y el error que este valor puede tener.
c.
Método
de Newton:
1. Pregunte la función y
guárdela mediante los comandos inline
e input en la variable f.
2. Pregunte la derivada de la función y
guárdela mediante los comandos inline
e input en la variable df.
3. Pregunte el valor inicial y guárdela
mediante el comando input en la
variable x.
4. Como se va a considerar una respuesta
aproximada con cierto error debe preguntar el valor del error tolerado y la
guarde mediante el comando input en
la variable tol.
5. Para evitar que el programa se quede
haciendo una cantidad muy grande de operaciones mientras determina la raíz
que cumpla con la tolerancia debe preguntar el máximo número de iteraciones
que se van a permitir y la guarde mediante el comando input en la variable maxiter.
6. Realice un ciclo con el comando for
iniciando desde 1 hasta el máximo número de iteraciones para una variable k , y realice las siguientes
operaciones:
7. Mediante un if verifique si el
valor de la variable fx llega a ser 0. De ser así
muestre en la pantalla que se ha hallado la raíz de la función.
8. Defina la variable xi usando la fórmula (1) de la guía en la sección teórica.
9. Mediante un if verifique si la
diferencia en valor absoluto de las variables x y xi llega a ser menor que la
variable tol. De ser así muestre en la pantalla que se ha hallado la
raíz de la función en el valor xi con un error igual a la
diferencia en valor absoluto de las variables x y xi.
10. Si la proposición del numeral 10 es falsa
redefina la variable x con el
valor de la variable xi.
11. Finalice el ciclo con el comando end.
12. Si al cumplir el ciclo no se ha alcanzado la
raíz con la aproximación deseada muestre en la pantalla mediante el comando fprintf un mensaje donde indique el
valor obtenido después del límite permitido y el error que este valor puede
tener
Información
- Descripción
- Apunte sobre Sin título, creado por Luis Ferro el 04/03/2016.
- Creado por
- Luis Ferro
- Visitas
- 0
- Valoración