Как сохранить результат из цикла и сохранить его в новом массиве? - PullRequest
0 голосов
/ 06 апреля 2019

Я пытаюсь сохранить результаты цикла в новом массиве, а затем построить их.Но теперь я могу сохранить только последнее значение из цикла.Как я могу сохранить все результаты из цикла?

for j=1,200 do begin
  h = where(o eq j,ct3)
  if (ct3 ne 0) then begin
    mag = a1[h].imag
    bcg = min(mag)
    deltay = pqq[plu2[j]]
    bcg1 = float(bcg)
    u = where(bcg1*deltay ne 0)
    bcg2 = bcg1[u]
    deltay1 = deltay[u]
    print,deltay1,bcg2
    plot,bcg2,deltay1,psym=5
  endif 
endfor

1 Ответ

0 голосов
/ 09 апреля 2019

Чтобы хранить переменное число значений каждый раз в цикле, я бы использовал список, а затем метод toArray, когда вы хотите построить окончательный массив.

Например, в началеВаш код создает список для хранения результатов в:

deltay_list = list()

Затем в вашем цикле добавьте элементы в ваш список:

deltay_list->add, deltay1, /extract

Ключевое слово EXTRACT указывает, что вы должны добавитьотдельные элементы deltay1, не добавляйте deltay в качестве одного элемента списка.Если вы хотите построить, то выполните:

deltay_array = deltay_list->toArray()
obj_destroy, deltay_list
plot, deltay_array
...