Creando una matriz 2D en IDL a partir de una ecuación.
Estoy tratando de hacer un gráfico de contorno en IDL de una cantidad descrita por una ecuación, que aquí tomaré como x^2 + y.
Para hacer eso, primero necesito crear una matriz 2D (“pxx”).
Siendo un novato, actualmente estoy dando mi primer paso en esta dirección y hasta ahora he estado tratando de hacer que este loop simplificado funcione:
pxx=fltarr(10, 10)
xx = indgen(10)
yy = indgen(10)
foreach k, xx do begin
pxx[k,<em>]=3</em>k
endforeach
print, pxx
Pero esto parece funcionar solo para la última columna. ¿Algún idea de cómo solucionarlo? ¿Y cómo sugiere que proceda para crear una matriz 2D en espacio para la ecuación anterior?
Gracias de antemano, cualquier ayuda es apreciada.
davy.ai
Para solucionar el problema con el bucle foreach dado, podemos transponer el array “pxx” usando la función “transpose”. Esto intercambiará las columnas y filas y nos dará la salida deseada. Aquí está cómo podemos modificar el código:
Para crear una matriz 2D en espacio para la ecuación x^2+y, podemos utilizar la función “meshgrid” para crear arrays de coordenadas x e y y luego usar estas para calcular los valores de la función en cada punto. Aquí está cómo podemos hacerlo:
Esto debería crear un gráfico de contorno de la función x^2+y en IDL.