https://github.com/adnksharp/scilab-s-m-muller
uso del método de Müller para obtener raíces de polinomios con Scilab
https://github.com/adnksharp/scilab-s-m-muller
scilab-scripts
Last synced: 6 months ago
JSON representation
uso del método de Müller para obtener raíces de polinomios con Scilab
- Host: GitHub
- URL: https://github.com/adnksharp/scilab-s-m-muller
- Owner: adnksharp
- Created: 2022-07-09T17:34:13.000Z (about 4 years ago)
- Default Branch: base
- Last Pushed: 2023-07-11T03:32:14.000Z (about 3 years ago)
- Last Synced: 2025-04-07T03:53:28.692Z (over 1 year ago)
- Topics: scilab-scripts
- Language: Scilab
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Müller method
Uso del método de Müller para obtener la raíz de una función dados 3 valores iniciales.
Tomando una función de tipo:
$ax^n+bx^{n-1}+...+yx+z$
donde:
- $a$, $b$, ..., $z$ son coeficientes de la función
- $x$ son 3 valores iniciales ($x_0$, $x_1$, $x_2$)
## Pasos
La función se evalúa usando la ecuación
$f(x_i) = ax_i ^n + bx_i ^{n-1} + ... zx_i$
Datos que son necesarios para obtener los valores de $\delta$:
$\Large {\delta_i = {{ f(x_2) - f(x_0) } \over { f(x_1) - f(x_0) }}}$
para obtener los valores de **a**, **b** y **c** se necesita la diferrencia de los valores de $x_0$, $x_1$ y $x_2$:
$\Delta x_0 = x_1 - x_0$
$\Delta x_1 = x_2 - x_1$
$\Large {a = {{δ_1 - δ_0} \over {\Delta x_0 + \Delta x_1}}}$
$\Large{b = {{a \Delta x_1} \over \delta_1}}$
$\Large{c=f(2)}$
Con los valores anteriormente obtenidos se puede obtener la raíz de la función:
$\Large{x_3 = x_2 + {{-2c}\over{b\pm \sqrt{b^2-4ac}}}}$
Estos pasos se repetirán hasta que la diferencia entre los valores de $x_3$ y $x_2$ / $x_3$ sea mínimo.
Si esta diferencia no es mínima, se intercambian los valores de $x_0$, $x_1$ y $x_2$.
### Ejemplo de uso
```Scilab
Metodo de müller
f(x) = --> x^3-9x^2+x+(90/%pi)
Valores iniciales: --> 1, 2, 2.2
...
f(x) = (1)x^3 + (-9)x^2 + (1)x + (28.64789)
x0 = (-1.5976471, -1.5976471, -1.5977441)
```