Hola a todos.
Resulta que en clase estaban muy cansinos con Derive (un programa de hacer cosillas de matemáticas para windows), así que a mi me dio por investigar en Linux cosillas similares, y aunque me ha costado, he encontrado varios programas que hacen lo mismo e incluso mejor. Por si a alguien le interesa, me sobra algo de tiempo y voy a comentaros cómo me fue.
El software en cuestión es:
-gnuplot:
http://www.gnuplot.info/
-octave:
http://www.octave.org/
-maxima:
http://maxima.sourceforge.net/ GNUPlot
Este software nos permite representar gráficamente funciones matemáticas:
Código:
plot [x0:x1] [y0:y1] log(x)/sqrt(x*x*x+3)
En GNUPlot, ese comando nos representaría gráficamente la función "neperiano de x partido por la raíz cuadrada de x al cubo más tres", en el intervalo de abscisas [x0,x1] y el de ordenadas [y0:y1].
Octave
Ocatve hace cálculos numéricos principalmente, matriciales, resuelve ecuaciones no lineales, trabaja con polinomios, vectores... Veamos alguna muestra. Resolveremos el sistema lineal:
Código:
3x+2y-7z = 2
5x-3y+4z = 1
x-y+z = 6
En octave escribiremos la matriz de los coeficientes (a) y la matriz de los términos independientes (b):
Código:
a = [ 3, 2, -7; 5, -3, 4; 1, -1, 1 ]
// Octave responde ordenando la matriz
b = [2; 1; 6]
Como el sistema se puede expresar matricialmente como AX=B, basta hacer para resolverlo:
Octave responderá con la solución al sistema. Pero si escribimos "format long" y volvemos a poner "a \ b", mostrará al menos 15 decimales de las soluciones, y si ponemos "format bit" y volvemos a poner "a \ b" nos dará las soluciones en binario
Veamos alguna cosa más, por ejemplo la resolución de una ecuación no lineal, como "x por e elevado a x, menos uno igual a cero":
Código:
function y = f (x)
y = x * exp(x) - 1;
endfunction
format long
fsolve("f", 0)
// Octave nos devuelve:
ans = 0.567143290409784
También hace cosillas con polinomios, por ejemplo x3 - 2x2 + 7x + 3, lo representamos en octave por el vector de sus coeficientes:
Algunas cosas que Octave puede hacer son: derivarlo, integrarlo, hayar sus raices, evaluarlo para un valor de x concreto (3):
Código:
polyderiv(p)
polyinteg(p)
roots(p)
polyval(p, 3)
Maxima
Este programa hace cálculos simbólicos (y muuchas cosas más), es un CAS (Computer Algebra System) libre. Veamos alguna cosilla, definimos una función:
Código:
f: log(x^3 - 3*x + 2)/sqrt(abs(x-3));
Esto es, "neperiano de (x elevado a tres menos 3 x más dos) entre (raíz cuadrada(valor absoluto(x - 3))". Pongámoslo a trabajar:
Código:
// Derivada:
g: diff (f, x);
// Simplificamos la derivada:
factor(g);
Hay muchas más cosas que estos programas pueden hacer, si alguien quiere comentar algo, que lo haga
Un saludo,