Resolución de ecuaciones
Anterior | Capítulo 11. Lista de funciones GEL | Siguiente

## Resolución de ecuaciones

CubicFormula

      CubicFormula (p)

  Calcular las raíces de un polinomio cúbico (de grado 3) utilizando la fórmula cúbica. El polinomio se dará como un vector de coeficientes. Esto es `4*x^3 + 2*x + 1` que corresponde al vector `[1,2,0,4]`. Devuelve un vector columna de tres soluciones. La primera solución siempre es la real como un cúbico siempre tiene una solución real.

  See Planetmath, Mathworld, or Wikipedia for more information.

EulersMethod

      EulersMethod (f,x0,y0,x1,n)

  Utilizar el método clásico de Euler para resolver numéricamente y'=f(x,y) de forma inicial `x0`, `y0` pasan a `x1` con `n` incrementos, devuelve `y` junto con `x1`. Excepto que especifique explícitamente que quiere utilizar el método clásico de Euler, piense en utilizar RungeKutta para resolver ODE.

  Los sistemas se pueden resolver teniendo a `y` como un vector (columna) en cualquier parte. Es decir, `y0` puede ser un vector en cuyo caso `f` será un número `x` y un vector del mismo tamaño para el segundo argumento y devolverá un vector del mismo tamaño.

  See Mathworld or Wikipedia for more information.

EulersMethodFull

      EulersMethodFull (f,x0,y0,x1,n)

  Use classical Euler's method to numerically solve y'=f(x,y) for initial `x0`, `y0` going to `x1` with `n` increments, returns an `n+1` by 2 matrix with the `x` and `y` values. Unless you explicitly want to use Euler's method, you should really think about using RungeKuttaFull for solving ODE. Suitable for plugging into LinePlotDrawLine or LinePlotDrawPoints.

  Ejemplo:

      genius> LinePlotClear();
      genius> line = EulersMethodFull(`(x,y)=y,0,1.0,3.0,50);
      genius> LinePlotDrawLine(line,"window","fit","color","blue","legend","Exponential growth");

  Los sistemas se pueden resolver teniendo a `y` como un vector (columna) en cualquier parte. Es decir, `y0` puede ser un vector en cuyo caso `f` será un número `x` y un vector del mismo tamaño para el segundo argumento y devolverá un vector del mismo tamaño.

  La salida para un sistema es todavía una matriz de n por 2 siendo la segunda entrada un vector. Si quiere dibujar la línea, asegúrese de utilizar fila de vectores, y aplanar la matriz con ExpandMatrix, y pulse sobre las columnas de la derecha. Ejemplo:

      genius> LinePlotClear();
      genius> lines = EulersMethodFull(`(x,y)=[y@(2),-y@(1)],0,[1.0,1.0],10.0,500);
      genius> lines = ExpandMatrix(lines);
      genius> firstline = lines@(,[1,2]);
      genius> secondline = lines@(,[1,3]);
      genius> LinePlotWindow = [0,10,-2,2];
      genius> LinePlotDrawLine(firstline,"color","blue","legend","First");
      genius> LinePlotDrawPoints(secondline,"color","red","thickness",3,"legend","Second");

  See Mathworld or Wikipedia for more information.

  Desde la versión 1.0.10 en adelante.

FindRootBisection

      FindRootBisection (f,a,b,TOL,N)

  Buscar la raíz de una función utilizando el método de la bisección. `a` y `b` son los límites iniciales del intervalo, `f(a)` y `f(b)` deben tener signos opuestos. `TOL` es la tolerancia deseada y `N` es el límite del número de iteraciones a ejecutar, 0 indica sin límites. La función devuelve un vector `[success,value,iteration]`, donde `success` un booleano que indica el éxito, `value` es el último valor calculado, e `iteration` es el número de iteraciones realizadas.

FindRootFalsePosition

      FindRootFalsePosition (f,a,b,TOL,N)

  Buscar la raíz de una función utilizando el método de la posición falsa. `a` y `b` son los valores iniciales del intervalo, `f(a)` y `f(b)` deben tener signos opuestos. `TOL` es la tolerancia deseada y `N` es el límite del número de iteraciones a ejecutar, 0 indica sin límites. La función devuelve un vector `[success,value,iteration]`, donde `success` es un booleano que indica el éxito, `value` es el último valor calculado, e `iteration` es el número de iteraciones realizadas.

FindRootMullersMethod

      FindRootMullersMethod (f,x0,x1,x2,TOL,N)

  Buscar la raíz de una función utilizando el método de Muller. `TOL` es la tolerancia deseada y `N` es el límite del número de iteraciones a ejecutar, 0 indica sin límites. La función devuelve un vector `[success,value,iteration]`, donde `success` un booleano que indica el éxito, `value` es el último valor calculado, e `iteration` es el número de iteraciones realizadas.

FindRootSecant

      FindRootSecant (f,a,b,TOL,N)

  Buscar la raíz de una función utilizando el método de la secante. `a` y `b` son los límites iniciales del intervalo, `f(a)` y `f(b)` deben tener signos opuestos. `TOL` es la tolerancia deseada y `N` es el límite del número de iteraciones a ejecutar, 0 indica sin límites. La función devuelve un vector `[success,value,iteration]`, donde `success` es un booleano que indica el éxito, `value` es el último valor calculado, e `iteration` es el número de iteraciones realizadas.

HalleysMethod

      HalleysMethod (f,df,ddf,guess,epsilon,maxn)

  Encontrar ceros utilizando el método de Halleys. Siendo `f` la función, `df` es la derivada de `f`, y `ddf` es la segunda derivada de `f`. La variable `guess` es la aproximación inicial. La función devuelve después dos valores sucesivos que están dentro de los límites que marca `epsilon` o después de `maxn` iteraciones en cuyo caso devuelve `null` indicando un fallo.

  Consulte también `NewtonsMethod` y `SymbolicDerivative`.

  Ejemplo para encontrar la raíz cuadrada de 10:

      genius> HalleysMethod(`(x)=x^2-10,`(x)=2*x,`(x)=2,3,10^-10,100)

  See Wikipedia for more information.

  Desde la versión 1.0.18 en adelante.

NewtonsMethod

      NewtonsMethod (f,df,guess,epsilon,maxn)

  Encontrar ceros utilizando el método de Newton. La variable `f` es la función y `df` es la derivada de `f`. La variable `guess` el supuesto inicial. La función devuelve después dos valores sucesivos que están dentro de los límites que marca `epsilon` o después de `maxn` iteraciones en cuyo caso devuelve `null` indicando un fallo.

  Consulte también `NewtonsMethodPoly` y `SymbolicDerivative`.

  Ejemplo para encontrar la raíz cuadrade de 10:

      genius> NewtonsMethod(`(x)=x^2-10,`(x)=2*x,3,10^-10,100)

  See Wikipedia for more information.

  Desde la versión 1.0.18 en adelante.

PolynomialRoots

      PolynomialRoots (p)

  Calcular las raíces de un polinomio (de grado 1 a 4) utilizando una de las fórmulas para cada polinomio. El polinomio entregará un vector de coeficientes. Esto es `4*x^3 + 2*x + 1` que corresponde al vector `[1,2,0,4]`. Devuelve un vector columna de las soluciones.

  La función llama a QuadraticFormula, CubicFormula, y a QuarticFormula.

QuadraticFormula

      QuadraticFormula (p)

  Calcular las raíces de una polinomio cuadrático (de grado 2) utilizando la fórmula cuadrática. El polinomio será un vector de coeficientes. Es es `3*x^2 + 2*x + 1` que corresponde con el vector `[1,2,3]`. Devuelve un vector columna de las dos soluciones.

  See Planetmath, or Mathworld, or Wikipedia for more information.

QuarticFormula

      QuarticFormula (p)

  Calcular las raíces de un polinomio cuadrático (de grado 4) utilizando la fórmula cuadrática. El polinomio será un vector de coeficientes. Esto es `5*x^4 + 2*x + 1` que corresponde con el vector `[1,2,0,0,5]`. Devuelve un vector columna de las cuatro soluciones.

  See Planetmath, Mathworld, or Wikipedia for more information.

RungeKutta

      RungeKutta (f,x0,y0,x1,n)

  Utilizar el método clásico no adaptativo de cuarto orden Runge-Kutta para resolver numéricamente y'=f(x,y) que de forma inicial `x0`, `y0` tienden a `x1` con `n` incrementos, devuelve `y` en `x1`.

  Los sistemas se pueden resolver teniendo a `y` como un vector (columna) en cualquier parte. Es decir, `y0` puede ser un vector en cuyo caso `f` será un número `x` y un vector del mismo tamaño para el segundo argumento y devolverá un vector del mismo tamaño.

  See Mathworld or Wikipedia for more information.

RungeKuttaFull

      RungeKuttaFull (f,x0,y0,x1,n)

  Use classical non-adaptive fourth order Runge-Kutta method to numerically solve y'=f(x,y) for initial `x0`, `y0` going to `x1` with `n` increments, returns an `n+1` by 2 matrix with the `x` and `y` values. Suitable for plugging into LinePlotDrawLine or LinePlotDrawPoints.

  Example:

      genius> LinePlotClear();
      genius> line = RungeKuttaFull(`(x,y)=y,0,1.0,3.0,50);
      genius> LinePlotDrawLine(line,"window","fit","color","blue","legend","Exponential growth");

  Los sistemas se pueden resolver teniendo a `y` como un vector (columna) en cualquier parte. Es decir, `y0` puede ser un vector en cuyo caso `f` será un número `x` y un vector del mismo tamaño para el segundo argumento y devolverá un vector del mismo tamaño.

  La salida de un sistema todavía es una matriz de n por 2 siendo la segunda entrada un vector. Si quiere dibujar la línea, asegúrese de utilizar filas de vectores, y aplane la matriz con ExpandMatrix, y pulse a la derecha de las columnas. Ejemplo:

      genius> LinePlotClear();
      genius> lines = RungeKuttaFull(`(x,y)=[y@(2),-y@(1)],0,[1.0,1.0],10.0,100);
      genius> lines = ExpandMatrix(lines);
      genius> firstline = lines@(,[1,2]);
      genius> secondline = lines@(,[1,3]);
      genius> LinePlotWindow = [0,10,-2,2];
      genius> LinePlotDrawLine(firstline,"color","blue","legend","First");
      genius> LinePlotDrawPoints(secondline,"color","red","thickness",3,"legend","Second");

  See Mathworld or Wikipedia for more information.

  Desde la versión 1.0.10 en adelante.

Anterior | Subir | Siguiente
Funciones | Inicio | Estadísticas