Una familia muy interesantes de funciones son aquellas que se denominan esferas irregulares (véase [1], página 900) cuyo uso abarca desde la modelización e tumores o bien la representación de partículas de polen Desde el punto de vista matemático, son un buen ejemplo de cómo hacer uso de las transformaciones de coordenadas dado un sistema a otro. En este caso de coordenadas cartesianas a esféricas. El siguiente código de Maxima:
/* Representación de una esfera irregular con Maxima*/
/* Tomando las expresiones de J. Stewart Cálculo: conceptos y contextos */
n:5$
m:6$
/*Definimos la superificie esférica usando las coordenadas esféricas*/
rho:1+0.2*sin(m*theta)*sin(n*phi)$
load(draw)$
/* Definimos el dominio y el tipo de coordenadas para su gráfica */
irr_sphere: spherical(rho,theta,0,2*%pi,phi,0,%pi)$
/* Dibujamos la superfice sin colorear*/
draw3d(surface_hide=true,
color=blue,
irr_sphere,
nticks=400,
title="Esfera irregular. m=6,n=5")$
/* Dibujamos la superficie con una paleta de tonos grises*/
draw3d(surface_hide=false,
enhanced3d = [1+0.2*sin(m*theta)*sin(n*phi),theta,phi],
nticks=400,irr_sphere,
palette=gray,
title="Esfera irregular. m=6,n=5")$
Código de Maxima a usar en esta entrada. Código por el autor.
Nuestro objetivo es representar una esfera irregular usando la expresión que aparece en la referencia a la obra de Stewart anterior, en la que nos hemos hecho uso del paquete draw y de la definición de una función a partir de su definición: explicita (explicit) implícita (implicit), en coordenadas polares (polar), cilíndricas (cylindrical) o esféricas (spherical), siendo una cómoda forma de trabajar, pudiéndonos centra en el estudio teórico y por lo tanto apasionante de las matemáticas, muy en especial del cálculo.
Volviendo a lo que nos atañe, utilizando la expresión en coordenadas esféricas ( spherical(condiciones) ) definimos la expresión de la esfera y su dominio. Después, con el paquete draw3d la podemos dibujar, usando el programa Gnuplot, para los casos en los que n=5 y m=6, que son las condiciones que aparecen en la obra (para ello se ha tenido en cuenta [2], páginas 16-34). después, hacemos uso de enhaced3d=expresion, para obtener una superficie coloreada en tonos grises. Ambos resultados se exponen a continuación.
Imágenes obtenidas tras ejecutar el código. Imagen y código por el autor.
Tener en cuenta que se ha modificado la pantalla gráfica para evitar el achatamiento de la figura. Podemos ver el resultado original si las graficamos directamente desde la interfaz WxMaxima, adjuntado a continuación.
Código ejecutado en WxMaxima y resultados. Imagen y código por el autor.
Referencias
[1] Stewart, James, Cálculo: conceptos y contextos, 1999. Editorial Thompson.
[2]: Haager, Wilhem, Graphics with Maxima (Version 5.23 and above), 2011. HTL St. Pölten, ET Elektrotechnik
Mostrando entradas con la etiqueta gráficas. Mostrar todas las entradas
Mostrando entradas con la etiqueta gráficas. Mostrar todas las entradas
viernes, 5 de julio de 2013
viernes, 21 de junio de 2013
Scilab- Comando colormap(), mesh y meshgrid para gráficas de dos variables.
Un atractivo de Scilab es la posibilidad de hacer gráficos de funciones de dos variables y poder usar una paleta de colores predeterminadas, haciendo muy atractiva su salida por pantalla. Para ello se puede usar una simple combinación de las funciones meshgrid, que creea una matriz con los datos de dos variables previamente definidas, mesh, que realiza una gráfica de la función con Z=f(X,Y), con X e Y variables definidas por la función meshgrid, y con la función xset("colormap",mapa_elegido(n)), siendo n un número, correspondiéndose con el número de colores de la paleta, y mapa_elegido() una función de Scilab que permite usar una selección determinada de colores (asignándose estos en función de la posición de cada proporción de superficie dada por mesh()). Algunas de estos mapas son coppercolormap(), oceancolormap(), bonecolormap(), springcolormap(), etc. Estos pueden consultarse en el Navegador de ayuda. Se ha usado las referencias de [1] sobre este tema en las páginas
// pruebacolormap().sce
// Prueba de gráficos con colormap()
// Definimos la función a usar f:R^2 -->R
// [sin(x.*y)] y el dominio de esta (x,y)
x=-3:.1:3;
y=-3:.1:3;
//empleamos el comando
//meshgrid(x,y), para crear dos matrices con todos
//los valores necesarios para dibujarla
[X,Y]=meshgrid(x,y);
// y dibujamos la función (sin colores)
Z=sin(X.*Y);
mesh(X,Y,Z);
// Empleamos xset("colormap",mapa_de_colores(n))
// y el comando surf para dibujar la gráfica de la función f con colores.
n=34 //numeros de colores a usar
// Usamos oceancolormap()
// y obtenemos la superficie de la función en tonos azules.
scf(1)
clf(1)
xset("colormap",oceancolormap(n))
surf(X,Y,Z)
// Usamos coppercolormap()
// y obtenemos la superficie en tonos marrones
scf(2)
xset("colormap",coppercolormap(n))
surf(X,Y,Z)
Código de Scilab descrito anteriormente. Código por el autor.
Así pues, si ejecutamos el programa anterior en Scilab, obtenemos las siguientes imágenes.
Resultados del programa anterior. Códigos e imágenes por el autor.
Referencias
[1]: Venturin, Manolo. Plotting with Scilab, Openeering Totorials. Openeering.
// pruebacolormap().sce
// Prueba de gráficos con colormap()
// Definimos la función a usar f:R^2 -->R
// [sin(x.*y)] y el dominio de esta (x,y)
x=-3:.1:3;
y=-3:.1:3;
//empleamos el comando
//meshgrid(x,y), para crear dos matrices con todos
//los valores necesarios para dibujarla
[X,Y]=meshgrid(x,y);
// y dibujamos la función (sin colores)
Z=sin(X.*Y);
mesh(X,Y,Z);
// Empleamos xset("colormap",mapa_de_colores(n))
// y el comando surf para dibujar la gráfica de la función f con colores.
n=34 //numeros de colores a usar
// Usamos oceancolormap()
// y obtenemos la superficie de la función en tonos azules.
scf(1)
clf(1)
xset("colormap",oceancolormap(n))
surf(X,Y,Z)
// Usamos coppercolormap()
// y obtenemos la superficie en tonos marrones
scf(2)
xset("colormap",coppercolormap(n))
surf(X,Y,Z)
Código de Scilab descrito anteriormente. Código por el autor.
Así pues, si ejecutamos el programa anterior en Scilab, obtenemos las siguientes imágenes.
Resultados del programa anterior. Códigos e imágenes por el autor.
Referencias
[1]: Venturin, Manolo. Plotting with Scilab, Openeering Totorials. Openeering.
martes, 26 de marzo de 2013
Scilab-Openeering
El uso de Scilab transciende cada vez más desde el campo de la educación al mundo empresarial e industrial. En el sitio web encontramos numerosos ejemplos de cómo se emplea Scilab en diversas ramas de la ingeniería. Además, contiene muchísima información sobre el uso de Scilab para enfrentarnos a problemas usuales en el campo de acción de dicha ciencia (realización de gráficas, análisis numérico, interpolación de datos, elaboración de GUI's empleando Scilab, etc) en forma de pdf, video, texto, presentación...todo ello distribuido bajo licencia libre.
Algunos contenidos de esta página son bastante interesantes para dominar algunos aspectos de Scilab que, desde el punto de vista matemático, son muy útiles.
Aspecto de la página principal de la web Openeering. Imagen del autor.
Se puede consultar desde el siguiente enlace:
Scilab-Uso de generador de gráficas
Una herramienta muy interesante en la nueva edición de Scilab, sobre todo para los que estudiamos matemáticas y, a la hora realizar una representación gráfica para comprobar un resultado, ilustrar un trabajo o demostrar si nuestras elucubraciones sobre alguna función son ciertas, se nos olvida el comando concreto que nos permite obtener la gráfica de nuestros datos (cosa que me pasa con mucha frecuencia) es el generador de gráficas, un botón que se encuentra en el menú Editor de variable.
Imagen de dónde se encuentra el generador de gráficas (señalado en rojo) al abrir el editor de una variable concreta. Imagen del autor.
Para usarlo operamos así: una vez introducidos los datos, nos vamos al menú perteneciente en el Explorador de variables (siempre visible si nos hemos descargados la nueva versión de Scilab) y hacemos doble clic con el ratón en la variable en la que hemos introducido el conjunto (o conjuntos) de valores que queremos dibujar. Al hacer esto, se abre un menú nuevo, el Editor de variables, veremos en el borde superior de esta una serie de botones entre los que se encuentra, al final de todo, la aplicación comentada. Clic y a ver nuestro resultado, así de fácil.
Eso sí, esta facilidad conlleva algunos problemas; hemos de definir correctamente los datos y no se incluyen todos los comandos para la representación.
No obstante, para una labor sencilla, es rápido y fácil. Aquí se muestra en imágenes el recorrido a hacer para usar este comando y las posibilidades que presentan. Personalmente, creo que es una idea genial.
Imagen de dónde se encuentra el generador de gráficas (señalado en rojo) al abrir el editor de una variable concreta. Imagen del autor.
Para usarlo operamos así: una vez introducidos los datos, nos vamos al menú perteneciente en el Explorador de variables (siempre visible si nos hemos descargados la nueva versión de Scilab) y hacemos doble clic con el ratón en la variable en la que hemos introducido el conjunto (o conjuntos) de valores que queremos dibujar. Al hacer esto, se abre un menú nuevo, el Editor de variables, veremos en el borde superior de esta una serie de botones entre los que se encuentra, al final de todo, la aplicación comentada. Clic y a ver nuestro resultado, así de fácil.
Eso sí, esta facilidad conlleva algunos problemas; hemos de definir correctamente los datos y no se incluyen todos los comandos para la representación.
No obstante, para una labor sencilla, es rápido y fácil. Aquí se muestra en imágenes el recorrido a hacer para usar este comando y las posibilidades que presentan. Personalmente, creo que es una idea genial.
Capturas de pantallas de los menús Explorador de variables (con las correspondientes ventanas de Scinotes a la izquierda de este y debajo el historial de comandos) y Editor de variables. En esta última se muestran los posibles comandos del generador. Imagen del autor.
lunes, 20 de agosto de 2012
Cálculo-Comparación de funciones trigonométricas
Cree esta imagen para dar clases. Se trata de una representación de las funciones seno y coseno en un intervalo de 2 a 3. Para este caso, he empleado la expresión de valores en forma de intervalo a : (razón de crecimiento) : b. Los resultados gráficos con Scilab son muy interesantes:
Suscribirse a:
Entradas (Atom)











