#arrays #contour #idl-programming-language
Вопрос:
Я пытаюсь построить контурный график в режиме ожидания количества, описываемого уравнением и, которое здесь я буду принимать за x^2 y. Для этого мне сначала нужно создать 2D-массив («pxx»).
Будучи новичком, я в настоящее время просто делаю первый шаг в этом направлении, и до сих пор я пытался упростить работу с циклом foreach:
pxx=fltarr(10, 10) xx = indgen(10) yy = indgen(10) foreach k, xx do begin pxx[k,*]=3*k endforeach print, pxx
Но это, похоже, работает только для последней колонки. Есть идеи, как это исправить? И как бы вы предложили мне продолжить создание 2D-массива в пространстве для приведенного выше уравнения? Заранее благодарю вас, любая помощь будет признательна
Ответ №1:
Выберите диапазон значений x
и y
значения, которые вы хотите оценить:
n = 10 x = findgen(n) - (n - 1)/2.0 y = findgen(n) - (n - 1)/2.0
Расширяйтесь x
и y
до 2-мерных версий самих себя:
xx = rebin(reform(x, n, 1), n, n) yy = rebin(reform(y, 1, n), n, n)
Оцените функцию:
z = xx^2 yy
Сюжет:
contour, z, x, y
Комментарии:
1. Большое спасибо, это было действительно полезно