Facilitats per passar de Matlab a SAGE

De Sage

Dreceres ràpides: navegació, cerca

Per què aprendre Python?

Python és el llenguatge en el que es basa SAGE, és a dir, SAGE aprofita la majoria de comandes que s'usen en Python, però afegeix nous paquets i opcions. A més a més, SAGE també conté l'ipython, que és el Python amb funcionalitats extres de forma interactiva.

Cal dir que el Python és molt semblant al conegut Matlab, i per tant, per a tots/es aquells/es usuaris/es de Matlab els hi serà molt fàcil fer el canvi a Python. Respecte a la component gràfica, Python (ipython) gràcies al paquet Pylab es comporta molt semblant a Matlab i permet moltes opcions a les gràfiques.

De Matlab a Python (Ipython) fàcilment

Diccionari Matlab-Python-Aquest manual d'accés ràpid ens permet traduir les comadnes més usuals en Matlab a Python.

Per aprendre de forma ràpida Python a partir de SAGE, podem iniciar SAGE de la següent forma:

 sage -ipython -pylab

El módul de pylab incorpora la majoria de funcions numèriques contingudes al Matlab a més de l'entorn per produir gràfiques.

Per exemple, a partir de les comandes:

# Generem les dades:
x = linspace( -1, 2, 25 );
y = exp( x ) - 2*x + 1;
# Dibuixem la funció:
plot( x, y, 'r-' )
# Afegim títol i anomenem els eixos:
title('Funció f(x)=exp(x)-2*x+1')
xlabel('x')
ylabel('f(x)')

Obtenim la següent gràfica:

Si volem crear imatges en 3D caldrà que importem el següent paquet:

from mpl_toolkits.mplot3d import Axes3D

I per exemple si executem les següents comandes:

fig1=figure(1)
ax = Axes3D(fig1)
x = arange(0,1.05,0.05);
y = x;
xx,yy = meshgrid( x, y );
z = xx *(xx-1) *yy *(yy-1);
ax.plot_surface(xx, yy, z)
ax.plot_surface(xx, yy, z,rstride=1, cstride=1, cmap=cm.jet)
ax.set_title('Representacion de \n f(x,y) = x(x-1)y(y-1)')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('f(x)')

Obtenim: