Math plus ultra es una calculadora graficadora programable con un amplio rango de funciones que cuenta con:
- La manipulación de expresiones numéricas y simbólicas
- El desarrollo de funciones personalizadas
- La creación de gráficos 2D y 3D, incluyendo tramas, contornos y superficies.
- Cálculo matricial y cálculo complejo.
- Integración y derivación de funciones numéricas y simbólicas.
Álgebra
lsolve
lsolve(L, b)
Resuelve el sistema de ecuaciones lineales utilizando sustitución directa y devuelve un vector columna.
lup
lup(A)
Retorna la descomposición LU de una matriz. Calcula la descomposicion con pivoteo parcial.
lusolve
lusolve(A, b)
Regresa el vector columna que soluciona el sistema lineal A * x = b donde A es una matriz [n x n] y b es un vector columna [n].
slu
slu(A, order, threshold)
Calcula la factorización LU de una matriz dispersa utilizando pivoteo completo.
usolve
usolve(U, b)
Resuelve un sistema de ecuaciones lineales utilizando sustitución hacia atrás y devuelve un vector columna.
Aritmética
abs
abs(x)
Calcula el valor absoluto de un número.
add
add(x, y)
Calcula la suma de dos o más valores.
cbrt
cbrt(x [, allRoots])
Calcula la raíz cúbica de un valor.
ceil
ceil(x)
Redondea un valor hacia el infinito positivo.
cube
cube(x)
Calcula el cubo del parámetro x
divide
divide(x, y)
Computa la división entre x y y.
dotDivide
dotDivide(x, y)
Divide cada elemento de la matriz x con su elemento correspondiente en la matriz y.
dotMultiply
dotMultiply(x, y)
Multiplica cada elemento de la matriz x con su elemento correspondiente en la matriz y.
dotPow
dotPow(x, y)
Calcula el resultado de elevar cada elemento de la matriz x por su elemento correspondiente en la matriz y.
exp
exp(x)
Calcula el exponente de un número o matriz.
fix
fix(x)
Redondea un valor al entero más cercano a cero.
floor
floor(x)
Redondea un valor al entero más cercano que sea menor o igual a él.
gcd
gcd(a, b)
Calcula el máximo común divisor entre dos o más elementos.
hypot
hypot(a, b, …)
Calcula la hipotenusa de una lista de valores.
lcm
lcm(a, b)
Calcula el mínimo común múltiplo entre dos o más valores.
log
log(x [, base])
Calcula el logaritmo natural de un número, de acuerdo con su base. Si no se especifica la base, calcula el logaritmo natural del valor.
log10
log10(x)
Calcula el logaritmo en base 10 de un valor.
mod
mod(x, y)
Calcula el módulo de una división entre x y y.
multiply
multiply(x, y)
Multiplica los objetos x y y.
norm
norm(x [, p])
Calcula la norma de un número, vector o matriz.
nthRoot
nthRoot(a)
Regresa la raíz enésima de un número.
pow
pow(x, y)
Eleva el elemento x a la potencia del elemento y.
round
round(x [, n])
Redondea un valor a su entero más cercano.
sign
sign(x)
Determina el signo de un valor. El cual puede ser 1 cuando x>1, -1 cuando x < 0 o 0 cuando x==0.
sqrt
sqrt(x)
Calcula la raíz cuadrada de un valor.
square
square(x)
Calcula el cuadrado de un número.
subtract
subtract(x, y)
Calcula la resta entre x y y.
unaryMinus
unaryMinus(x)
Niega el valor de un elemento.
unaryPlus
unaryPlus(x)
Devuelve el valor positivo de un elemento.
xgcd
xgcd(a, b)
Calcula la versión extendida del máximo común divisor.
Bits
bitAnd
bitAnd(x, y)
Realiza la operación lógica bit a bit «AND”, x & y.
bitNot
bitNot(x)
Realiza la operación lógica bit a bit «NOT» de x.
bitOr
bitOr(x, y)
Realiza la operación lógica bit a bit «OR», x | y.
bitXor
bitXor(x, y)
Realiza la operación lógica bit a bit «XOR», x ^ y.
leftShift
leftShift(x, y)
Función a nivel de bit, retorna x desplazándola lógicamente hacia la izquierda y veces.
rightArithShift
rightArithShift(x, y)
Función a nivel de bit, retorna x desplazándola aritméticamente hacia la derecha y veces.
rightLogShift
rightLogShift(x, y)
Función a nivel de bit, retorna x desplazándola lógicamente hacia la derecha y veces.
Cálculo
deriv
deriv(f,x)
Calcula el punto diferencial de una función f en un punto x. Actualmente solo soporta funciones unidimensionales. Ejemplo: deriv(f(x)=2*x^2+1,10).
integral
integral(f,a,b)
Computa la integral definida utilizando el método de cuadratura adaptativa de Simpson. Calcula la integral definida de f con respecto a x, evaluándola de a hasta b. Ejemplo: integral(f(x)=2*x+1,0,10).
LimL
LimL(f,x)
Calcula el límite de una función f, en un punto x, acercándose desde la izquierda. Ejemplo: LimL(f(x)=x^2,7).
LimM
LimM(f,x)
Calcula el límite de una función f, en un punto x, acercándose desde el medio (derecha e izquierda). Ejemplo: LimL(f(x)=x^2,7).
LimR
LimM(f,x)
Calcula el límite de una función f, en un punto x, acercándose desde la derecha. Ejemplo: LimR(f(x)=x^2,7).
Combinatoria
bellNumbers
bellNumbers(n)
Los números Bell cuenta el número de particiones en las cuales un conjunto puede ser dividido.
catalan
catalan(n)
Enumera una secuencia de números naturales que es muy importante en las matemáticas combinatorias, ya que aparece en varios problemas de conteo.
composition
composition(n, k)
The composition counts of n into k parts.
stirlingS2
stirlingS2(n, k)
Cuenta el número de maneras en las cuales un set de n objetos etiquetados puede ser dividido en k subconjuntos no vacíos.
Complejos
arg
arg(x)
Calcula el argumento de un número complejo.
conj
conj(x)
Calcula la conjugada de un número complejo.
im
im(x)
Retorna la parte imaginaria de un número complejo.
re
re(x)
Retorna la parte real de un número complejo.
Geometría
distance
distance([x1, y1], [x2, y2])
Calcula la distancia entre dos puntos en espacios bidimensionales o tridimensionales.
intersect
intersect(endPoint1Line1, endPoint2Line1, endPoint1Line2, endPoint2Line2)
Calcula el punto de intersección entre dos líneas para espacios bidimensionales o tridimensionales. Calcula el punto de intersección entre una recta y un plano para un espacio tridimensional.
Logica
and
and(x, y)
Operador lógico AND.
not
not(x)
Operador lógico NOT.
or
or(x, y)
Operador lógico OR.
xor
xor(x, y)
Operador logico XOR.
Matrices
concat
concat(a, b, c, … [, dim])
Concatena dos o más matrices según una dimensión especificada.
cross
cross(x, y)
Calcula el producto cruz de dos vectores en un espacio tridimensional.
det
det(x)
Retorna el determinante de una matriz.
diag
diag(X)
Crea una matriz diagonal o retorna la diagonal de una matriz. Cuando x es un vector, la función retorna una matriz con elementos de x en la diagonal principal.
dot
dot(x, y)
Calcula el producto punto entre dos vectores.
eye
eye(n)
Retorna una matriz de identidad bidimensional de tamaño mxn o nxn.
filter
filter(x, test)
Filtra los ítems de un arreglo o una matriz unidimensional de acuerdo con una función o expresión regular.
flatten
flatten(x)
Convierte una matriz multidimensional en una matriz de una sola dimensión.
forEach
forEach(x, callback)
Ejecuta una función callback por cada elemento de la matriz o arreglo.
inv
inv(x)
Calcula la inversa de una matriz cuadrada.
map
map(x, callback)
Crea una nueva matriz o arreglo con los resultados de la función callback ejecutada en cada ítem de la matriz o arreglo.
ones
ones(m, n, p, …)
Crea una matriz conformada por números uno.
partitionSelect
partitionSelect(x, k)
Encuentra el k-ésimo elemento más pequeño en un arreglo unidimensional y lo divide a su alrededor.
range
range(start, end [, step])
Crea un arreglo de valores según un rango específico.
resize
resize(x, size [, defaultValue])
Cambia el tamaño de una matriz.
size
size(x)
Calcula el tamaño de una matriz o escalar.
sort
sort(x)
Ordena los ítems dentro de una matriz.
squeeze
squeeze(x)
Comprime una matriz al remover sus dimensiones singleton.
subset
subset(x, index [, replacement])
Obtiene un subconjunto de una matriz o cadena de caracteres.
trace
trace(x)
Calcula la traza de una matriz al sumar los componentes de su diagonal principal.
transpose
transpose(x)
Retorna la transpuesta de una matriz.
zeros
zeros(m, n, p, …)
Crea una matriz conformada únicamente por ceros.
Probabilidad
combinations
combinations(n, k)
Retorna el número de posibles combinaciones en las que se puede obtener un subconjunto desorganizado de K objetos a partir de un conjunto de n elementos.
factorial
factorial(n)
Calcula el factorial de un valor. Esta función sólo soporta enteros como argumento.
gamma
gamma(n)
Calcula la función gamma de un valor. Utiliza la aproximación de Lanczos para valores pequeños y una aproximación extendida de Stirling para valores grandes.
kldivergence
kldivergence(x, y)
Calcula la divergencia Kullback-Leibler entre dos distribuciones.
multinomial
multinomial(a)
Calcula el número de formas de elegir a1, a2,.., ai resultados posibles de n posibilidades.
permutations
permutations(n [, k])
Calcula las diferentes maneras en las cuales se pueden obtener un subconjunto ordenado de k elementos de un conjunto de n elementos.
pickRandom
pickRandom(array)
Retorna un valor aleatorio de un arreglo unidimensional.
random
random([min, max])
Devuelve un valor aleatorio restringido dentro del intervalo [min, max] y sigue una distribución uniforme.
randomInt
randomInt([min, max])
Devuelve un valor aleatorio entero que está restringido dentro del intervalo [min, max] y sigue una distribución uniforme.
Graficación
addFunction
from calculator input: addFunction(x^2+2), from program script: addFunction(«x^2+2»)
Adiciona una funcion f(x) a la lista de gráficas.
addParametric
from calculator input: addParametric(2*cos(t),2*sin(t),0,2*pi), from program script: addParametric(«2*cos(t)»,»2*sin(t)»,0,2*pi)
Adiciona una función paramétrica a la lista de gráficas.
addPolar
from calculator input: addPolar(2*theta,0,4*pi), from program script: addPolar(«2*theta»,0,4*pi)
Adiciona una funcion polar a la lista de gráficas.
plot
plot()
Crea una gráfica bidimensional con las funciones de la lista de gráficas.
plotXY
plotXY(X,Y)
Crea un gráfico bidimensional de X vs Y, en donde X y Y son vectores.
setX
setX(Xmin,Xmax)
Establece los límites del eje X para la función plot.
setY
largerEq(Ymin, Ymax)
Establece los límites del eje Y para la función plot.
surf
surf(f(x,y) = sin(sqrt((x)^2+(y)^2)),-10:0.25:10,-10:0.25:10)
Retorna la gráfica de una superficie tridimensional.
Programación
forEach
forEach(a,f(x)=eval(i=i+x))
Ejecuta una función callback por cada elemento de la matriz o arreglo.
eval
eval(expr) or eval([expr1, expr2, expr3, …])
Evalúa una expresión.
exportVar
exportVar(varName, varValue)
Exporta una variable al ámbito global.
Comparación
compare
compare(x, y)
Compara dos valores. Retorna 1cuando x > y, -1 cuando x < y. Retorna 0 cuando x==y.
deepEqual
deepEqual(x, y)
Compara cada elemento de dos matrices diferentes para determinar si son iguales.
equal
equal(x, y)
Prueba si dos valores son iguales.
larger
larger(x, y)
Prueba si el valor x es mayor que el valor y.
largerEq
largerEq(x, y)
Prueba si el valor x es mayor que el valor y.
smaller
smaller(x, y)
Prueba si el valor x es mayor o igual que el valor y.
smallerEq
smallerEq(x, y)
Prueba si el valor x es menor que el valor y.
unequal
unequal(x, y)
Prueba si el valor x es menor o igual que el valor y.
Estadística
max
max(a, b, c, …)
Calcula el valor máximo de una matriz o lista de valores.
mean
mean(a, b, c, …)
Calcula la media de una matriz o lista de valores.
median
median(a, b, c, …)
Calcula la mediana de una matriz o lista de valores.
min
min(a, b, c, …)
Calcula el valor mínimo de una matriz o lista de valores.
mode
mode(a, b, c, …)
Calcula la moda estadística de un conjunto de valores.
prod
prod(a, b, c, …)
Calcula la productoria de una matriz o conjunto de valores.
quantileSeq
quantileSeq(A, prob[, sorted])
Compute the prob order quantile of a matrix or a list with values.
std
std(a, b, c, …)
Calcula la desviación estándar de una matriz o conjunto de valores.
sum
sum(a, b, c, …)
Calcula la sumatoria de una matriz o conjunto de valores.
var
var(a, b, c, …)
Calcula la varianza de una matriz o conjunto de valores.
Trigonometría
acos
acos(x)
Calcula el coseno inverso o arco coseno de un valor.
acosh
acosh(x)
Calcula el arco coseno hiperbólico de un valor. Está definido como acosh(x) = ln(sqrt(x^2 – 1) + x).
acot
acot(x)
Calcula la cotangente inversa o arco cotangente de un valor. Está definida como acot(x) = atan(1/x).
acoth
acoth(x)
Calcula el arco cotangente hiperbólico de un valor. Está definido como acoth(x) = atanh(1/x) = (ln((x+1)/x) + ln(x/(x-1))) / 2.
acsc
acsc(x)
Calcula la cosecante inversa o arco cosecante de un valor. Está definida como acsc(x) = asin(1/x).
acsch
acsch(x)
Calcula el arco cosecante hiperbólico de un valor. Está definido como acsch(x) = asinh(1/x) = ln(1/x + sqrt(1/x^2 + 1)).
asec
asec(x)
Calcula la secante inversa o arco secante de un valor.
asech
asech(x)
Calcula el arco secante hiperbólico de un valor. Está definido como asech(x) = acosh(1/x) = ln(sqrt(1/x^2 – 1) + 1/x).
asin
asin(x)
Calcula el seno inverso o arcoseno de un valor.
asinh
asinh(x)
Calcula el arcoseno hiperbólico de un valor. Está definido como asinh(x) = ln(x + sqrt(x^2 + 1)).
atan
atan(x)
Calcula la tangente inversa o arco tangente de un valor.
atan2
atan2(y, x)
Calcula la función tangente inversa para dos argumentos y/x.
atanh
atanh(x)
Calcula el arco tangente hiperbólica de un valor. Está definida como atanh(x) = ln((1 + x)/(1 – x)) / 2.
cos
cos(x)
Calcula el coseno de un valor.
cosh
cosh(x)
Calcula el coseno hiperbólico de un valor. Está definida como cosh(x) = 1/2 * (exp(x) + exp(-x)).
cot
cot(x)
Calcula la cotangente de un valor.
coth
coth(x)
Calcula la cotangente hiperbólica de un valor. Está definida como coth(x) = 1 / tanh(x).
csc
csc(x)
Calcula la cosecante de un valor. Está definida como csc(x) = 1/sin(x).
csch
csch(x)
Calcula la cosecante hiperbólica de un valor. Está definida como csch(x) = 1 / sinh(x).
sec
sec(x)
Calcula la secante de un valor. Está definida como sec(x) = 1/cos(x).
sech
sech(x)
Calcula la secante hiperbólica de un valor. Está definida como sech(x) = 1 / cosh(x).
sin
sin(x)
Calcula el seno de un valor.
sinh
sinh(x)
Calcula el seno hiperbólico de un valor. Está definido como sinh(x) = 1/2 * (exp(x) – exp(-x)).
tan
tan(x)
Calcula la tangente de un valor.
tanh
tanh(x)
Calcula la tangente hiperbólica de un valor. Está definida como tanh(x) = (exp(2 * x) – 1) / (exp(2 * x) + 1).