Maxima Ejemplos

De Universidad Libre

Tabla de contenidos

Ejemplos de Maxima

A continuación listamos algunos ejemplos y ejercicios para el Maxima.


Presentación

Presentación de Maxima realizada en la Universidad ORT Uruguay.

Presentacion Maxima - OpenDocument y Ejemplos - OpenDocument


Ejercicios de la misma presentación, con solución. [Ejercicios - OpenDocument]

Demostración

Algunos ejemplos de lo que puede hacer Maxima.

Se puede cargar esto como archivo (copiar lo siguiente a un archivo y poner load("/camino/a/archivo") ) o ejecutarlo línea a línea.

/*Sirve como calculadora*/
12/4+24+5*9-177+5!+3^3;

/*Sirve como *gran* calculadora*/
500!;
set_display('ascii)$
500!;
set_display('xml)$

/*Calcula divisores de un número*/
divisors(20);

/*Sabe manejar polinomios*/
(2*x-3)^10$
expand(%);
factor(%);

x^3-24*x^2-1764*x+42336=0$
solve(%,x);

/*Trabaja con complejos*/
(x-%i-1)*(x+%i-1)$
expand(%);

/*Puede realizar sumas*/
sum(k, k, 1, 100) * 20 +10;
'sum(1/k^2, k, 1, inf)$
%, simpsum;

/*Se pueden definir funciones recursivamente*/
/*Fibonacci*/
f[0]:1$
f[1]:1$
f[n]:=f[n-1]+f[n-2]$
f[2];
f[3];
f[500];
f[200];
f[300];
f[400];
f[500];

/*Factorial*/
fa[0]:1$
fa[1]:1$ 
fa[n]:=fa[n-1]*n$
fa[5];

/*Hace derivadas*/
depends([f,g],t);
'diff(f*g,t)$
%,nouns;

'diff(x^n,x)$
%,nouns;

'diff(x^5,x,2)$
diff(x^5,x,2);

/*Puede trabajar con vectores*/
d:[t^2, 3*t]$
v:diff(d,t);
a:diff(v,t);

/*Puede graficar en 2d y 3d*/
plot2d([10*sin(10*x)*%e^(-x/2), 10*%e^(-x/2), -10*%e^(-x/2)], [x,0,12], [y,-15,15], [plot_format, openmath], [nticks,100])$

plot2d ([parametric, cos(t), sin(t), [t,-%pi,%pi], [nticks,80]], [x, -4/3, 4/3], [plot_format, openmath])$

plot3d(cos(x)*sin(y), [x,-5,5], [y,-5,5], [plot_format,openmath])$

/*Grafica funciones paramétricas en 3d*/
plot3d ([(2+sin(x))*cos(y), (2+sin(x))*sin(y), (2+cos(x))], [x, -%pi, %pi], [y, -%pi, %pi], [plot_format, openmath])$

/*Resuelve ecuaciones diferenciales ordinarias*/
load("contrib_ode.mac")$
depends(y, t);

contrib_ode(diff(y,t,2)+2*diff(y,t)+y=0,y,t);

load("plotdf")$
plotdf((y-5)*(y+1)/5)$

Calculo de una serie de Fourier

Sea f una función periódica de periodo 2π, con f(x) = x para x que va desde −π hasta π. Notemos que esta función es la versión periódica de la identidad f(x)=x:


El siguiente código debe agregarse en un fichero fourier.mac y desde el menú Maxima 'batch file' lo cargamos:

exp1: sum(2*(((-1)^(n+1))/n)*sin(n*x),n,1,2);

plot2d (exp1, [x, -%pi, %pi])$

exp2: sum(2*(((-1)^(n+1))/n)*sin(n*x),n,1,5);

plot2d (exp2, [x, -%pi, %pi])$

exp3: sum(2*(((-1)^(n+1))/n)*sin(n*x),n,1,10);

plot2d (exp3, [x, -%pi, %pi])$


Alternativamente, se puede utilizar el modulo Fourie:

load(fourie);

serie: totalfourier(x,x,%pi);


subst(2,inf,serie), nouns;

plot2d(%,[x, -%pi, %pi]);


subst(5,inf,serie), nouns;

plot2d(%,[x, -%pi, %pi]);


subst(10,inf,serie), nouns;

plot2d(%,[x, -%pi, %pi]);
Herramientas personales