Académique Documents
Professionnel Documents
Culture Documents
Se utiliza para encontrar una raíz x = xr de una función f(x) tomando un valor inicial xk.
Parámetros:
′
<5> Se calcula el error relativo:
a. Si el error relativo calculado es menor o igual a ER se termina el cálculo. El
resultado de la raíz es xk+1.
b. Si el error relativo es mayor a ER se incrementa el contador de las iteraciones
(k = k + 1) y se regresa al paso <3> .
if f_xk(k) == 0
break; %Se abortan las iteraciones porque f(xk) = 0.
end
end
xr = xk(k); %Se asigna sólo el valor final al parámetro de salida.
end
f =
x^(21/10) – 75
11/10
21 x
---------
10
k xk f(xk) df(xk) x_k+1 ER
+0.00000 +8.00000 +3.79324 +20.68323 +7.81660 +2.34625
+1.00000 +7.81660 +0.04779 +20.16226 +7.81423 +0.03033
+2.00000 +7.81423 +0.00001 +20.15553 +7.81423 +0.00001
xr =
7.8142
Parámetros:
Ejercicio 3.2.1: Escribe una función de MATLAB que aplique el algoritmo de Newthon-
Raphson 2do orden para encontrar una raíz de la función f(x) = 0.
f =
x^(21/10) – 75
11/10
21 x
---------
10
d^2f/df^2 =
1/10
231 x
---------
100
k xk f(xk) fx(xk) fxx(xk) x_k+1 ER
+0.00000 +8.00000 +3.79324 +20.68323 +2.84394 +7.81186 +2.40841
+1.00000 +7.81186 -0.04783 +20.14880 +2.83718 +7.81423 +0.03037
+2.00000 +7.81423 -0.00001 +20.15553 +2.83727 +7.81423 +0.00001
xr =
7.8142
Es una variante del método de Newthon-Raphson 1er orden, en la cual se consideran rectas
paralelas a la tangente original para calcular las aproximaciones.
Parámetros:
El algoritmo del método de Von Mises es prácticamente el mismo que el de Newton-Raphson 1er
grado con la diferencia en el cálculo de la aproximación.
′
<5> Se calcula el error relativo:
a. Si el error relativo calculado es menor o igual a ER se termina el cálculo. El
resultado de la raíz es xk+1.
b. Si el error relativo es mayor a ER se incrementa el contador de las iteraciones
(k = k + 1) y se regresa al paso <3> .
Ejercicio 3.3.1: Escribe una función de MATLAB que aplique el algoritmo de Von Mises para
encontrar una raíz de una función f(x) = 0.
- exp(-x) - 1
k xk f(xk) df(x0) x_k+1 ER
+0.00000 +1.00000 -0.63212 -1.36788 +0.53788 +85.91409
+1.00000 +0.53788 +0.04610 -1.36788 +0.57158 +5.89626
+2.00000 +0.57158 -0.00696 -1.36788 +0.56650 +0.89756
+3.00000 +0.56650 +0.00101 -1.36788 +0.56724 +0.12988
+4.00000 +0.56724 -0.00015 -1.36788 +0.56713 +0.01894
+5.00000 +0.56713 +0.00002 -1.36788 +0.56715 +0.00276
xr =
0.5671
Cuando se trabaja con polinomios de manera simbólica en MATLAB existen diversas funciones
que facilitan su manipulación. Dos de esas funciones son quorem( ) y sym2poly( ).
2 +1
1
! "
+3 +5 3 +7
p =
x^2 - 2*x + 1
q =
x^2 - 1
r =
x - 1
f =
res =
x + 1
res =
res =
11
1 -2 1
f) Encuentra los coeficientes y el valor del término constante del polinomio f(x).
>> A = sym2poly(f) %Se obtiene el vector con los coeficientes y se almacena en
%en la variable “A”.
A =
-1 3 0 0 5 0 0 -3 7
a0 =
Se utiliza una combinación del método de Newton-Raphson 1er orden para encontrar cada raíz y
después se simplifica el polinomio por medio de división sintética, de tal manera que se elimine
la raíz ya encontrada.
Parámetros:
<1> Se determina el grado n del polinomio y se establece el contador para las iteraciones
requeridas desde k = 1, 2, ... , (n - 1). El total de raíces buscadas es n.
<2> Se calcula el valor de x0 inicial para la aplicación del método de Newton-Raphson 1er
orden:
#$
#$
<3> Se aplica el método de Newton-Raphson 1er orden para el x0 calculado en el paso <2>
y el valor del error relativo deseado ER, obteniéndose xr(k).
<4> Se obtiene una nueva función f(x) dividiendo a la función original entre el factor que
involucra a la raíz encontrada en el paso <3>:
&
<5> Se revisa el valor del contador de las iteraciones k:
a. Si k ≤ n – 1 se incrementa el contador de las iteraciones y se regresa al paso <2>.
b. Si k > n – 1, la última raíz xr(n) se obtiene del término constante de la última
simplificación de la función f(x).
for k = 1 : (n-1) %Este ciclo se repite una iteración menos que el grado del
%polinomio.
A = sym2poly(f); %Se obtienen los coeficientes del polinomio.
Paso <2>
xk = - A(length(A))/A(length(A) - 1); %Se calcula el valor de x0 para
Paso <3>
%utilizar Newton-Raphson.
xr(k) = newtonRaphson1er(f, xk, error); %Se calcula la raíz.
Paso <4>
[f, rem] = quorem(f, x - xr(k)); %Se simplifica la función dividiendo el
%polinomio entre la raíz encontrada.
end
end
Referencias.