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 WxMaxima. Mostrar todas las entradas
Mostrando entradas con la etiqueta WxMaxima. Mostrar todas las entradas
viernes, 5 de julio de 2013
lunes, 20 de agosto de 2012
Discretas-Grafo de un cuboctaedro
La teoría de grafos es visualmente muy atractiva. En este caso, me plantee la representación de un grafo que representase un cuboctaedro, un sólido de arquímedes muy interesante.
Para mi sorpresa, existe un comando en WxMaxima, paquete graphs, que permite copnstruir un grafo isomorfo a él. Yo he hecho dos, como ejemplo de isomorfismo entre grafos ( dos grafos son isomorfos sí y solo sí existe una aplicación biyectiva que transforma todo vértice de un grafo en uno del otro y toda arista está en el otro). Introduciendo los siguientes comandos, obtenemos el resultado:
![]() |
| (http://es.wikipedia.org/wiki/S%C3%B3lidos_arquimedianos) |
Para mi sorpresa, existe un comando en WxMaxima, paquete graphs, que permite copnstruir un grafo isomorfo a él. Yo he hecho dos, como ejemplo de isomorfismo entre grafos ( dos grafos son isomorfos sí y solo sí existe una aplicación biyectiva que transforma todo vértice de un grafo en uno del otro y toda arista está en el otro). Introduciendo los siguientes comandos, obtenemos el resultado:
martes, 31 de julio de 2012
Discreta- Grafo de un icosadodecaedro
Uno de los sólidos arquimedianos más famosos es el icosadodecaedro. Se basa en un poliedro cuasiregular formado por doce caras pentagonales y veinte caras triangulares, como aparece en la imagen.
Podemos realizar una construcción muy hermosa con WxMaxima utilizando el paquete graphs; lo que hacemos es construir el grafo isomorfo a este cuerpo, produciendo un grafo de 30 vértices y 60 aristas. Para ello introducimos los siguientes comandos.
Para más información, puede verse la siguiente entrada de Wikipedia:
http://es.wikipedia.org/wiki/S%C3%B3lido_de_Arqu%C3%ADmedes
![]() |
| Icosadodecaedro, imagen tomada de http://commons.wikimedia.org/wiki/File:Icosidodecahedron.jpg?uselang=es |
Podemos realizar una construcción muy hermosa con WxMaxima utilizando el paquete graphs; lo que hacemos es construir el grafo isomorfo a este cuerpo, produciendo un grafo de 30 vértices y 60 aristas. Para ello introducimos los siguientes comandos.
Para más información, puede verse la siguiente entrada de Wikipedia:
http://es.wikipedia.org/wiki/S%C3%B3lido_de_Arqu%C3%ADmedes
lunes, 23 de julio de 2012
Cálculo-Estudio de maximos/mínimos con contour
Se presenta aquí un problema clásico en varios cursos de cálculo vectorial; la determinación de maximos y mínimos usando conjuntos de nivel (ya sean curvas o superficies). En nuestra caso, vamos a estudiar una función compuesta de una cuadrática con una exponencial. Esta la vemos en el libro Cálculo vectorial, de Tromba y Marsden, ya citado con anterioridad. Nosotros corroboraremos haciendo uso de las curvas de nivel con el comando contour=map, que nos dibujará una proyección en el plano xy n curvas de nivel, con n un número entero positivo, y contour=surface, realizando una aproximación de estas en la imagen de la función, que, exactamente, todos los puntos de máximo locales se encuentran en el dominio representado por la circunferencia de radio 1 y centro en (0,0) (verde oscuro, en la pantalla). Para estos dibujos hemos usado el paquete draw de Maxima y se ha trabajado directamente desde Wxmaxima. Para más información sobre el tema se puede visitar:
lunes, 16 de julio de 2012
Graph-Cubo en 4 dimensiones
Se presenta aquí un grafo que representa un hipercubo (un cubo en cutro dimensiones) usando, en el paquete graph, el comando cube_graph(4).
Cálculo-estudio de función exponencial
Se presenta aquí el estudio de una función exponencial de tipo e elevado a la inversa de (x-y). Vemos como es discontinua para todos aquellos puntos que cumplen la condición de que x=y. Para observarla mejor, hacemos uso de la interfaz gráfica gnuplot, del que se presenta dos vistas.
Cálculo- Superficies paramétricas con draw
Se dibuja aquí una superficie paramétrica versionando una que aparece en el texto de Riotorto Primeros pasos en Maxima, y haciendo uso del paquete draw. Aparece como transparente (surface_hide=false) como opaca (surface_hide=true).
Cálculo-Prueba del hessiano
Aquí aparece el resultado producido por Wxmaxima de un ejercicio propuesto en el texto de J. Marsden y A.Tromba Cálculo vectorial (editorial Pearson-Addison Wesley), en el tema 3, sección 3.3, sobre el uso del test del hessiano para definir si un punto crítico es un máximo o un mínimo. Aquí vemos como definida la función, vamos obteniendo de ella los resultados que queremos; el punto crítico (entrada %i18), las diferenciales de la función (%i21) una gráfica de la función y su hessiano. Lástima que, en este caso, no podemos decir nada más sobre el punto crítico (0,0) pues el determinante de este es 0 (salida %o27) y tendríamos que realizar un estudio completo de este. Hemos hecho uso del apostrofe ' con el fin de obtener las celdas %o19,%o21 con una expresión literal de la diferencial.
miércoles, 11 de julio de 2012
Graphs para Matemáticas Discretas- Algunos comandos, ejemplos y ejercicios.
Resumen- Expondremos aquí algunos
resultados obtenidos con el paquete de Maxima graphs,
utilizando algunos conceptos extraídos en [1] y resolveremos algunas
cuestiones planteadas en [2], texto basado en los contenidos
referidos a la teoría de grafos incluidos en los actuales planes de
estudio de la asignatura Matemáticas Discretas, los cuales
requieren el concepto de grafo orientado, camino hamiltoniano,
estudio de grafos planos por el Teorema de Kuratowski, etc.
Y daremos un ejemplo de construcción
de grafos con los de tipo K3,3, K4,4 y K5,
realizando además un estudio completo de ellos. Para mayor sencillez
trabajaremos con la interfaz wxMaxima para Windows.
Lo primero que debemos de hacer, al
igual que con otros paquetes de Maxima es cargarlo. Para ello
introducimos el siguiente comando:
load(graphs)$
Algunos comandos útiles de este
paquete, que será lo que utilizaremos aquí viene dados en [1] y por
el menú de ayuda de Maxima ( F1). Para tratar el tema de grafos tal
como plantea la asignatura son más que suficientes. Por otra parte,
el paquete tiene algunas herramientas prediseñadas que nos permiten
representar algunos grafos característicos. Algunas son:
- grid_graph(n,m) Obtenemos un grafo en forma de rejilla de dimensiones nxm.
- complete_graph (n) Devuelve el grafo completo de n vértices.
- cycle_digraph (n) Devuelve el ciclo dirigido de n vértices.
- cycle_graph (n) Devuelve el ciclo de n vértices.
- cuboctahedron_graph () Devuelve el grafo cubooctaédrico.
- cube_graph (n) . Devuelve el cubo de n dimensiones.
- dodecahedron_graph () Devuelve el grafo del dodecaedro.
- empty_graph (n) Devuelve un grafo sin vértices.
- wheel_graph (n) Devuelve el grafo de rueda de n+1 vértices.
Insistir en el que hay muchas más
herramientas en el menú de ayuda de Maxima y wxMaxima ( F1). Ahora resolveremos dos problemas.
1º- Representación de los grafos k5
y k7. Vemos que podemos obtener la representación gráfica
de estos grafos insertando, una vez cargado los paquetes, los
siguientes comandos:
l:complete_graph(5);
f:complete_graph(7) ;
draw_graph(l,show_id=false)$
draw_graph(f,show_id=false)$
en una o dos celdas de entrada (F5). Obtenemos
las imágenes:
2º- Estudio de K3,3, K4,4
y K5 usando una descripción gráfica, la matriz de
adyacencia. ¿Son k3,3 y k5
grafos planos? Teniendo en cuenta las conclusiones anteriores,
¿Es k4,4 un grafo plano?
En la siguiente serie de comandos
obtenemos el grafo k3,3; en efecto, siguiendo el modelo
que aparece en [2] ( página, 176) hemos dibujado un grafo en forma
de rejilla de 3,2 y hemos construido el que aparece en la imagen;
para ello hemos usado los comandos add_edges() y
remove_edges().
En el estudio del grafo, que viene dado por
los comandos print_graphs, adjancy_matrix() e
is_conneceted() además de is_planar(). Siendo estos
dos últimos productores de valores booleanos ( false y true).
Así pues, vemos que, en el test, k3,3 es conexo pero no es planar.
Lo mismo pasa con K5.
Con k4,4 ocurre lo mismo que
en los casos anteriores. En tal caso, podemos ver que, si le
aplicamos un estudio de una subdisivisión elemental ( [2],177) tenemos
que existe algunas isomorfas a k3,3. Por el Teorema de
Kuratowski, esto implica que no es planar. En la siguiente serie de
instrucciones tenemos algunas de ellas.
Bibliografia
[1] Primeros pasos en Maxima, Riotorto, Mario Rodriguez.
[2]Elementos de Matemáticas Discretas, V.V.A.A. Ed. Sanz y Torres. ISBN:84-88667-35-3
lunes, 9 de julio de 2012
Draw-Triedro I
Triedro a tres colores utilizando el paquete draw y tres colores para resolver el sistema de ecuaciones x=1,y=1,z=0.
Los comandos usados son:
Los comandos usados son:
Grafos ( Paquete graphs)-
Grafo del dodecaedro, realizado con el paquete graphs de Maxima y ejecutado desde wxMaxima y el camino hamiltoniano en azul. Este grafo sirve para estudiar una posible solución en el denominado juego de Hamilton,del cual podemos saber en:
martes, 3 de julio de 2012
Algunos textos interesantes
Resumen- En esta entrada introduciremos algunas
lecturas bastante acertadas para empezar trabajar con Maxima ( y wxMaxima) y
Scilab. Aunque son programas con paquetes de ayuda bastante completos, ha veces
se requiere un poco de ayuda para trabajar con ellos ( por no decir que su
lectura a veces resulta frustrante). El
autor agradecería al lector que si sabe de más me informe y e incluirlas en el
próximo artículo:
Graphics
with Máxima. Haager, Wilhem. Edición digital:
Primeros pasos en Maxima. Rodríguez Riotorto, Mario. Edición
digital:
www.telefonica.net/web2/biomates/maxima/max.pdf
Manual de uso de Máxima y wxMaxima en asignaturas de cálculo
diferencial,
Ecuaciones Diferenciales con Maxima, Vallejo, Jose Antonio.
Ediciones en pdf obtenidas en:
A Máxima-Gnuplot Interface. Rodríguez Riotorto, Mario.
Edición digital:
Casi todos los textos citados están bajo el dominio GNU free
luego se pueden descargar y divulgarse sin problemas. Las direcciones de obtención
no son únicas. Aquí solo se pretende facilitar un poco las cosas y tener una
guía fija para su obtención.
Por otra parte, tenemos los siguientes textos para trabajar
con Scilab, bastante escuetos pero de lectura complicada:
Introducción a Scilab. Mora Escobar, Hector Manuel. Edición
digital :
personal.us.es/echevarria/documentos/ApuntesScilab.pdf
Scilab pour les Lycées. Scilab Development Team. Edición digital:
(Muy básico, una serie de diapositivas con programas sencillos pero bastante útil)
Introduction
to Scilab. Scilab Development Team. Edición digital:
http://www.scilab.org/support/documentation/tutorials
Suscribirse a:
Entradas (Atom)




























