Создание 2D массива в IDL, начиная с уравнения

#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. Большое спасибо, это было действительно полезно