Académique Documents
Professionnel Documents
Culture Documents
Ecuaciones no lineales
Comencemos con unos ejemplos que nos mostrarán cuales son los pasos para resolver una
ecuación no lineal.
Ejemplo:
Determine valores aproximados de las soluciones positivas de la ecuación
f (x) = x3 − 9x + 3
Lo primero que debemos hacer es graficar la función f (x) para identificar las raices de la ecuación,
para ello empleamos la instrucción fplot que permite graficar funciones simbólicas. La sintaxis
es:
fplot( ’funcion’,[xmin xmax]) = gráfica la función para los valores de x en el intervalo
[xmin, xmax].
fplot(’funcion’,[xmin xmax ymin ymax]) = gráfica la función para los valores de x en el
intervalo [xmin, xmax] y las imágenes comprendidas en el intervalo [ymin, ymax].
Ejecutamos las siguientes instrucciones
>> fplot(’x.^3-9*x+3’,[-10 10 -10 10])
>> fplot(’x.^3-9*x+3’,[-4 4 -2 2 ]) Para aproximar las raices podemos emplear el método
de bisección en los intervalos [−4, −3], [0, 1] y [2, 3]. Claramente la función es continua.
Digitando
>>biseccion(’x.^3-9*x+3’,0,1,0.000001,100)
Podemos usar el método de la secante para aproximar la raı́z
>>secante(’x.ˆ3-9*x+3’,0,1,0.000001,10)
Tambien podemos utilizar las rutinas internas de OCTAVE, que encuentran raı́ces de ecuaciones
no lineales.
• fzero(fun,x0): Encuentra una raı́z de la función f (x) =fun, (que debe ser definida antes
como función o allı́ mismo con la instrucción inline). Esta instrucción busca un cero de
fun cerca del punto x0 especificado por el usuario, la función ingresada debe ser continua.
Por ejemplo, para el ejemplo podemos digitar:
>> fzero(’x.^3-9*x+3’,2)
ans = 2.8169
>> fzero(’x.^3-9*x+3’,0)
ans = 0.3376
>> fzero(’x.^3-9*x+3’,-3)
ans = -3.1545
1
>> fzero(’x.^3-9*x+3’,[2,3])
ans = 2.8169
>> fzero(’x.^3-9*x+3’,[0,1])
ans = 0.3376
>> fzero(’x.^3-9*x+3’,[-3,-2])
ans = -3.1545
Podemos crear rutinas de los algoritmos dados en la teoria, como ejemplo usemos el MPF para
resolver .
f (x) = x3 − 9x + 3
x3 1
Consideramos g(x) = +
9 3
Digitamos:
>>gb=inline(’x.^3/9+1/3’)
Luego
>> puntofijo(gb,0.5,0.000001,10)
• roots(p): Encuentra todas las raı́ces de un polinomio p , tanto reales como complejas.
Para usarla es necesario tener en cuenta que en OCTAVE, un polinomio se representa por
medio de un vector de coeficientes.
Por ejemplo: Para calcular todas las raı́ces del polinomio p(x) = x5 + 3x3 − 2x + 1 ,
debemos digitar la instrucción:
>> r=roots([1 0 3 0 -2 1])
(donde el vector [1 0 3 0 -2 1] representa al polinomio p ), con la cual obtenemos:
r=
8-3.3865e-002 +1.8892e+000i
-3.3865e-002 -1.8892e+000i
-9.0261e-001
4.8517e-001 +2.7374e-001i
4.8517e-001 -2.7374e-001i
Ejercicios
2
3. Escriba el programa o rutina que ejecuta el algoritmo punto fijo y resuelva la ecuación
x2 − 2 = 0. Considere como g(x):
g(x) = 2/x
1
g(x) = − (x − 1)2 − 3
2
1 2
g(x) = x+
2 x
como punto inicial 1, T OL = 0.0004 número de iteraciones 50. Comente y discuta todos
los resultados.
√
4. ¿Qué puede hacer para encontrar la otra solución x = − 2 de x2 − 2 = 0.