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.
Consulte Planetmath, Mathworld, o Wikipedia para obtener más información.
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.
Consulte Mathworld o Wikipedia para obtener más información.
EulersMethodFull (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 una matriz de 2 por n+1 con los valores x e y.Excepto que quiera utilizar explícitamente el método clásico de Euler, utilice mejor RungeKuttaFull para resolver ODE. Adecuado para enlazar con LinePlotDrawLine o LinePlotDrawPoints.
Example:
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.
The output for a system is still a n by 2 matrix with the second entry being a vector. If you wish to plot the line, make sure to use row vectors, and then flatten the matrix with ExpandMatrix, and pick out the right columns. Example:
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");
Consulte Mathworld o Wikipedia para obtener más información.
Desde la versión 1.0.10 en adelante.
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 (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 (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 (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 (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.
Example to find the square root of 10:
genius> HalleysMethod(`(x)=x^2-10,`(x)=2*x,`(x)=2,3,10^-10,100)
Consulte la Wikipedia para más información.
Desde la versión 1.0.18 en adelante.
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.
Example to find the square root of 10:
genius> NewtonsMethod(`(x)=x^2-10,`(x)=2*x,3,10^-10,100)
Consulte la Wikipedia para obtener más información.
Desde la versión 1.0.18 en adelante.
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 (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.
Consulte Planetmath, Mathworld, o Wikipedia para obtener más información.
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.
Consulte Planetmath, Mathworld, o Wikipedia para obtener más información.
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.
Consulte Mathworld o Wikipedia para obtener más información.
RungeKuttaFull (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 una matriz de 2 por n+1 con los valores x e y. Adecuado para enlazar con LinePlotDrawLine o 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.
The output for a system is still a n by 2 matrix with the second entry being a vector. If you wish to plot the line, make sure to use row vectors, and then flatten the matrix with ExpandMatrix, and pick out the right columns. Example:
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");
Consulte Mathworld o Wikipedia para obtener más información.
Desde la versión 1.0.10 en adelante.