¿Qué es Meshgrid en MATLAB?

Por joe friedman
¿Qué es Meshgrid en MATLAB?
Pi Clipview Graduated image by treenabeena from Fotolia.com

MATLAB es un útil paquete de software matemático para realizar cálculos que van desde la simple aritmética, cálculos de álgebra lineal y procesamiento de señales. También puede representar datos en gráficos. Las miles de funciones integradas en MATLAB le proporcionan su poder, y una de estas poderosas herramientas de gráficos es la función "meshgrid". Esta función coloca líneas de cuadrícula definidas por el usuario en gráficos bidimensionales y tridimensionales.

Valores de graficado predeterminados de MATLAB

Al usar cualquiera de las funciones de graficado en 2-D de MATLAB en sí mismas sin ninguna instrucción adicional, MATLAB no usará líneas de cuadrícula. Si el usuario traza un gráfico en el espacio 2-D el área de fondo del gráfico es en blanco y negro. En un espacio 3-D MATLAB usará una cuadrícula genérica. Si es necesario mostrar líneas de cuadrícula de cualquier tipo en un gráfico 2-D para que su apariencia sea más clara, el usuario debe especificar lo anterior al ejecutar el comando para graficar o desde la ventana de figuras después de que MATLAB haya generado el gráfico.

Meshgrid versus Grid

La función "grid" de MATLAB es una manera sencilla de activar las líneas de cuadrícula genéricas en 2-D al trazar un gráfico. Un algoritmo pre-programado en MATLAB determina la cantidad de líneas de cuadrícula a usar y qué tan alejadas deben estar. En contraste, el usuario determina completamente las líneas de cuadrícula verticales y horizontales que aparecen en un gráfico al usar la función "meshgrid". Adicionalmente el número de líneas de cuadrícula y su separación es la misma para ambos ejes con "grid", pero con "meshgrid" el usuario puede solicitar por ejemplo tres líneas de cuadrícula horizontales y 100 líneas verticales.

Ejemplo en 3-D

Este es un ejemplo del uso de "meshgrid" para un gráfico tridimensional.

[X,Y] = meshgrid(-2:.2:2, -1:0.2:1) Z = X .* exp(-X.^2 - Y.^2); surf(X,Y,Z)

La primera línea de código le indica a MATLAB que debe usar líneas de cuadrícula horizontales que van desde -2 a 2 con espacios de 0,2. También solicita líneas verticales de -1 a 1 en incrementos de diez. La segunda línea le indica a MATLAB cómo calcular el valor "Z" en base a los valores "X" y "Y". Por último, la función "surf" de MATLAB grafica una superficie 3-D suspendida en el espacio con el meshgrid conforme a la superficie.

Otro ejemplo en 3-D

Esta es otra forma de usar "meshgrid" para un gráfico tridimensional.

[X,Y] = meshgrid(-2:.2:2) Z = X .* exp(-X.^2 - Y.^2); surf(X,Y,Z)

La segunda línea y la tercera línea son idénticas a las de la sección anterior, pero en este caso la función "meshgrid" solamente tomó un argumento. MATLAB comprende que recibir solamente un argumento significa que el usuario está indicando al programa que debe usar el mismo número de líneas de cuadrícula y espacios para los valores "X" y "Y". Con este código la superficie tendrá 21 líneas de cuadrícula horizontales y 21 líneas de cuadrícula verticales, todas con espacios iguales.