Ejemplos del uso de wxmaxima (maxima) en la solución de problemas de matemáticas
30 de septiembre de 2020
Descarga e instalación de Maxima
25 de noviembre de 2016
Desigualdades cuadráticas
Desigualdades cuadráticas
Maxima incluye dos paquetes que tienen la capacidad de resolver desigualdades cuadráticas: $fourier\_elim$ y $solve\_rat\_ineq$
Para resolver una desigualdad cuadrática con $fourier\_elim$ se debe cargar dicho paquete
| (%i1) | load(fourier_elim); |
La instrucción $fourier\_elim( [eq1], [var1] )$ resuelve la desigualdad cuadrática $eq1$ respecto de la variable $var1$. Ejemplo
| (%i2) | fourier_elim([y**2-2*y+1>=0],[y]); |
Un ejemplo más
| (%i3) | fourier_elim([2*y^2-y-6>=0],[y]); |
Hay desigualdades que $fourier\_elim$ no tiene la capacidad de resolver, por ejemplo la desigualdad $2x^2+5>5x+4$
| (%i4) | fourier_elim([2*x**2+5>5*x+4],[x]); |
Hay otro paquete especializado en resolver desigualdades racionales, pero que tambien es capaz de resolver desigualdades como la anterior, $solve\_rat\_ineq$
| (%i5) |
/*se carga el paquete solve_rat_ineq*/ load(solve_rat_ineq); |
La instrucción para resolver una desigualdad es $solve\_rat\_ineq(desigualdad)$.
Ejemplo Resolver la desigualdad \[2\cdot {{x}^{2}}+5>5\cdot x+4\]
| (%i6) | solve_rat_ineq(2*x**2+5>5*x+4); |
Created with wxMaxima.
Ecuaciones cuadráticas en Maxima
Ecuaciones cuadráticas
Para resolver una ecuación cuadrática, se usa la instrucción $solve(ec1,var1)$, donde $ec1$ es la ecuación cuadrática a resolver y $var1$ la variable con respecto a la cual se resolverá la ecuación cuadrática.
Ejemplo. Resolver la ecuación \[2\cdot {{x}^{2}}-x-3=0\]
| (%i1) | solve(2*x**2-x-3=0,x); |
otro ejemplo, resolver \[{{x}^{2}}+x=-1\]
| (%i2) | solve(x^2+x=-1,x); |
En maxima el símbolo $i$ representa la unidad imaginaria, $\sqrt(-1)$.
Un ejemplo de una ecuación cuadrática con literales. Se resuelve la ecuación con respecto a $x$.
| (%i3) | solve(y^2-x^2+5*x+y-6=0,x); |
Si se quiere resolver con respecto a $y$, la instrucción es
| (%i4) | solve(y^2-x^2+5*x+y-6=0,y); |
Created with wxMaxima.
24 de noviembre de 2016
Factorización
1 Factorización
Para factorizar una expresión se utiliza la instrucción $factor(expresion)$
Ejemplos de factorizaciones.
| (%i1) | factor(x**2-1); |
| (%i2) | factor(x**2+2*x+1); |
| (%i3) | factor(x**3+8); |
| (%i4) | x**6-8, factor; |
Created with wxMaxima.
Polinomios: suma, resta, multiplicación y división
1 Suma o resta de polinomios
Por defecto Maxima reduce los términos semejantes, por tanto para sumar o restar polinomios solamente se debe ingresar la suma o resta y maxima realizará la simplificación.
Ejemplo de suma de polinomios
| (%i1) | 2*x+5*y-3*z+(12*x-15*y+4*z); |
Ejemplo de resta de polinomios
| (%i2) | 3*x-4*y+2*z-(10*x+5*y-2*z); |
2 Multiplicación de polinomios
Maxima no desarrolla automáticamente el producto de polinomios, sólo queda indicada la multiplicación.
Ejemplo de multiplicación de polinomios
| (%i3) | (2*x-4*y+2)*(5*x-3*y); |
Para desarrollar el producto se utiliza la instrucción $expand$. Las siguientes instrucciones son equivalentes.
| (%i4) | expand((2*x-4*y+2)*(5*x-3*y)); |
| (%i5) | (2*x-4*y+2)*(5*x-3*y), expand; |
3 División de polinomios
Para dividir dos polinomios se utiliza la instrucción $divide(dividendo, divisor)$. El resultado es una lista, donde el primer elemento es el cociente de la división y el segundo elemento es el residuo.
Por ejemplo si se desea dividir $4\cdot {{x}^{3}}-12\cdot {{x}^{2}}+19\cdot x-10$ entre $2\cdot x-3$ la instrucción para obtener el cociente y el residuo es:
| (%i7) | divide(4*x^3-12*x^2+19*x-10,2*x-3); |
donde $2\cdot {{x}^{2}}-3\cdot x+5$ es el cociente y $5$ el residuo
Created with wxMaxima.
23 de noviembre de 2016
Mínimo común múltiplo y máximo común divisor de dos o más números
Mínimo común múltiplo
La instrucción para calcular el mínimo común múltiplo de dos o más números es $lcm(a,c,d,\ldots)$.
Ejemplo, el mínimo común múltiplo de $15$, $20$ y $50$ se calcula de la siguiente manera
| (%i1) | lcm(15,20,50); |
Máximo común divisor
La instrucción para calcular el máximo común divisor de dos números es $gcd(a,b)$. Maxima solamente calcula el máximo común divisor de dos números. Para calcular el máximo común divisor de tres o más números se debe anidar la instrucción.
Ejemplo: El máximo común divisor de $30$ y $20$
| (%i2) | gcd(30,20); |
El máximo común divisor de $15$, $20$ y $50$ se obtiene anidando la función $gcd()$
| (%i3) | gcd(gcd(15,20),50); |
En algunas versiones de maxima es necesario cargar previamente el paquete $functs$ para poder calcular el mínimo común múltiplo y máximo común divisor.
| (%i4) | load(functs); |
Created with wxMaxima.
22 de noviembre de 2016
Solución de desigualdades lineales en maxima
| (%i1) | load(fourier_elim); |
| (%i2) | fourier_elim([2*x-6<=5*x+4],[x]); |
| (%i3) | fourier_elim([-2*x-5>-5*x-4],[x]); |
Created with wxMaxima.
Solución de ecuaciones lineales en Maxima
Ecuaciones lineales
Para resolver una ecuación se usa la instrucción $solve(ecuacion,variable)$. Donde $variable$ es con respecto a la cual se va a resolver la ecuación.
Ejemplos de solución de una ecuación lineal
| (%i1) | solve(2*x+3=4*x-5,x); |
| (%i2) |
/*Se resuelve la ecuación con respecto a x*/ solve(2*x-2*a=4*x-5,x); |
| (%i3) |
/*Se resuelve la ecuación con respecto a la variable a*/ solve(2*x-2*a=4*x-5,a); |
Created with wxMaxima.
14 de mayo de 2016
Máximos y mínimos de una función
Valores máximos y mínimos de una función
Ejemplo.
Determinar los intervalos de crecimiento y de decrecimiento, identificar los puntos críticos y determinar los valores máximos y mínimos de la función $f\left(x\right)=4\,x^3+3\,x^2-6\,x$
| (%i85) | f(x):=4*x**3+3*x**2-6*x; |
Intervalos de crecimiento. Los intervalos en los cuáles ${{d\,f\left(x\right)}\over{d\,x}}>0$
| (%i86) | load(solve_rat_ineq); |
| (%i87) | solve_rat_ineq(diff(f(x),x)>0); |
Intervalos de decrecimiento. Los intervalos en los cuáles ${{d\,f\left(x\right)}\over{d\,x}}<0$
| (%i88) | solve_rat_ineq(diff(f(x),x)<0); |
Valores críticos. Los valores de $x$ para los cuales ${{d\,f\left(x\right)}\over{d\,x}}=0$
| (%i89) | vc0:solve(diff(f(x),x)=0); |
Considerando el criterio de la primera derivada, se puede concluir que en $x=-1$ hay un valor máximo de $f(x)$; en $x={{1}\over{2}}$ hay un valor mínimo de $f(x)$.
El valor mínimo es
| (%i90) | f(rhs(vc0[1])); |
El valor máximo es
| (%i91) | f(rhs(vc0[2])); |
Utilizando el criterio de la segunda derivada,
La segunda derivada de la función es
| (%i92) | 'diff('f(x),x,2)=diff(f(x),x,2); |
Se evalúa la segunda derivada en cada valor crítico
En
| (%i93) | vc0[1]; |
la segunda derivada es
| (%i94) | at(diff(f(x),x,2),vc0[1]); |
por lo tanto en $x={{1}\over{2}}$ hay un valor mínimo
En
| (%i95) | vc0[2]; |
vale
| (%i96) | at(diff(f(x),x,2),vc0[2]); |
por lo tanto en $x=-1$ hay un valor máximo
Segunda Derivada
Segunda derivada
| (%i81) | f(x):=(x**2+5)**3; |
| (%i82) | 'diff('f(x),x,2)=diff(f(x),x,2); |
se puede simplificar agregando $ratsimp$
| (%i83) | 'diff('f(x),x,2)=diff(f(x),x,2),ratsimp; |
Tercera derivada
| (%i84) | 'diff('f(x),x,3)=diff(f(x),x,3),ratsimp; |
Derivación implícita en Maxima
Derivación implícita
Ejemplo
Calcular ${{d\,y}\over{d\,x}}$ para $y^2-x\,y+x^3=4$
Para derivar implícitamente en maxima se hace lo siguiente
Se indica que la variable $y$ es función de $x$
| (%i75) | depends(y,x); |
Se ingresa la ecuación
| (%i76) | ec0:x**3-x*y+y**2=4; |
Se obtiene la derivada con respecto a la variable $x$
| (%i77) | ec1:diff(ec0,x); |
Se resuelve la ecuación anterior con respecto a ${{d\,y}\over{d\,x}}$
| (%i78) | solve(ec1,'diff(y,x)); |
El resultado anterior esta en formato de lista, si se desea extraer el único elemento de esa lista, la derivada, se agrega $[1]$ al final de la instrucción anterior
| (%i79) | solve(ec1,'diff(y,x))[1]; |
Para borrar la dependencia de $y$ de $x$
| (%i80) | remove(y, dependency); |
Derivada de una función
Derivada de una función
La instrucción para calcular la derivada de una función con respecto a una variable es $diff(funcion,variable)$
Ejemplo
Calcular la derivada de la función $$f\left(x\right)=3\,x^2-2\,x-1$$
| (%i70) | f(x):=3*x**2-2*x-1; |
| (%i71) | diff(f(x),x); |
Otra forma de presentar el resultado es el siguiente utilizando el operador comilla simple
| (%i72) | 'diff('f(x),x)=diff(f(x),x); |
Ejemplo
Calcular la derivada de la función $$f\left(x\right)=\sin \sqrt{x^3+3\,x}$$
| (%i73) | f(x):=sin(sqrt(x**3+3*x)); |
| (%i74) | 'diff('f(x),x)=diff(f(x),x); |
13 de mayo de 2016
Continuidad de una función
| (%i67) | f(x):=x**2-1; |
| (%i68) | is(limit(f(x),x,2)=f(2)); |
| (%i69) | f(x):=(x**3-8)/(x-2); |
12 de mayo de 2016
Límite lateral de una función
Ejemplo. Límites laterales
Límite por la derecha
Calcular el límite por la derecha $$\lim_{x\downarrow 2}{5-x^2}$$
| (%i61) | f(x):=5-x**2; |
Una forma
| (%i62) | limit(f(x),x,2,plus); |
Otra forma
| (%i63) | 'limit(f(x),x,2,plus)=limit(f(x),x,2,plus); |
Límite por la izquierda
Calcular el límite por la izquierda $$\lim_{x\uparrow 2}{2\,x-3}$$
| (%i64) | f(x):=2*x-3; |
Una forma
| (%i65) | limit(f(x),x,2,minus); |
Otra forma
| (%i66) | 'limit(f(x),x,2,minus)=limit(f(x),x,2,minus); |
Límite de una función en el infinito, $\infty$
Ejemplo. Límite en el infinito
Calcular el siguiente límite $$\lim_{x\rightarrow \infty }{{{4-3\,x+2\,x^2}\over{-1+2\,x+6\,x^2}}}$$
| (%i58) | f(x):=(2*x**2-3*x+4)/(6*x**2+2*x-1); |
Ya definida la función, para calcular directamente el límite la instrucción es
| (%i59) | 'limit(f(x),x,inf); |
o también
| (%i60) | 'limit(f(x),x,inf)=limit(f(x),x,inf); |
Límite de una función con radicales
Ejemplo. Límite de una función que contiene radicales
Calcular el siguiente límite $$\lim_{x\rightarrow 9}{{{x-9}\over{\sqrt{x}-3}}}$$
Solución:
Directamente
| (%i53) | limit((x-9)/(sqrt(x)-3),x,9); |
Detalladamente, en este caso, se usa la instrucción $radcan(expresion)$ para simplificar la función
| (%i57) |
/*se define la funcion*/ f(x):=(x-9)/(sqrt(x)-3)$ /*se asigna el limite sin evaluar a la variable lim0*/ lim0:'limit(f(x),x,9)$ /*se simplifica el limite*/ lim0=radcan(lim0); /*se evalua el limite*/ lim0=''''lim0; |
Límite de una función racional
Ejemplo. Límite de una función racional
Calcular el siguiente límite $$\lim_{x\rightarrow -2}{{{4-x^2}\over{x+2}}}$$
Solución:
Para calcular el límite directamente la instrucción es
| (%i45) | limit((4-x**2)/(x+2),x,-2); |
Otra forma de presentar el resultado utilizando el operador comilla simple ' que evita la evaluación de la función que le precede, en este caso del límite.
| (%i46) | 'limit((4-x**2)/(x+2),x,-2)=limit((4-x**2)/(x+2),x,-2); |
Una forma más detallada de presentar este límite utiliza la instrucción $ratsimp(expresion)$ para simplificar la función a la que se le desea calcular el límite
| (%i48) |
'limit((4-x**2)/(x+2),x,-2)=ratsimp('limit((4-x**2)/(x+2),x,-2)); 'limit((4-x**2)/(x+2),x,-2)=limit((4-x**2)/(x+2),x,-2); |
Las instrucciónes anteriores se pueden realizar de forma más simple como
| (%i52) |
/*se define la funcion*/ f(x):=(4-x**2)/(x+2)$ /*se asigna el limite sin evaluar a la variable lim0*/ lim0:'limit(f(x),x,-2)$ /*se simplifica el limite*/ lim0=ratsimp(lim0); /*se evalua el limite*/ lim0=''''lim0; |
Límite de una función
Límite de una función
Calcular el límite de la siguiente función en $x=3$
| (%i40) | f(x):=(x-3)/(x**2-9); |
utilizando valores cercanos al valor que tiende el límite
Solución:
Valores cercanos a $3$, pero menores que $3$
| (%i41) | x1:makelist(3-1/(10.0**j),j,makelist(i,i,1,10)); |
se evalua la función en cada valor de $x$
| (%i42) | f(x1); |
Valores cercanos a $3$, pero mayores que $3$
| (%i43) | x2:makelist(3+1/(10.0**j),j,makelist(i,i,1,10)); |
se evalua la función en cada valor de $x$
| (%i44) | f(x2); |
De acuerdo con los resultados anteriores $$\lim_{x\rightarrow 3}{{{x-3}\over{x^2-9}}}=0.16666\cdots$$
Función Inversa
Función inversa
Encontrar la función inversa de la siguiente función
| (%i34) | f(x):=1/(2*x+3); |
Solución:
Se iguala $y=f(x)$ y se despeja $x$
| (%i35) | solve(y=f(x),x); |
el resultado aparece en formato de lista, para obtener el elemento dentro de $[]$, se agrega la opción $[1]$ al final de la instrucción anterior. El resultado se puede asignar a una variable, por ejemplo $fi$
| (%i36) | fi:solve(y=f(x),x)[1]; |
Con el resultado anterior se puede definir la función inversa $f\_i$ de la siguiente manera
| (%i37) | define(f_i(y),rhs(fi)); |
donde la instrucción $rhs(ecuacion)$ extrae el lado derecho de $ecuacion$
Para comprobar que el resultado es correcto se verifica que $(f \circ f^{-1})(x)=x$
| (%i38) | f(f_i(x)); |
para simplificar, se usa ratsimp
| (%i39) | f(f_i(x)),ratsimp; |
Simetría de funciones
Simetría de funciones
Ejemplo. Determinar si la siguiente función es par o impar
| (%i28) | f(x):=x**4-3*x**2+4; |
Solución: Si $f(x)=f(-x)$ la función es par, si $f(x)=-f(x)$ la función es impar
se puede determinar directamente de la siguiente manera
| (%i29) | is(f(-x)=f(x)); |
| (%i30) | is(f(x)=-f(x)); |
como $f\left(-x\right)=f\left(x\right)$ la función es par.
Ejemplo. Determinar si la siguiente función es par o impar
| (%i31) | f(x):=x**5-3*x**3; |
Solución:
| (%i32) | is(f(-x)=f(x)); |
| (%i33) | is(f(x)=-f(x)); |
como $f\left(-x\right) \neq f\left(x\right)$ y $f\left(-x\right) \neq -f\left(x\right)$ la función no es par ni impar.