我试图将循环结果保存在一个新数组中,然后绘制它们。 但是现在我只能保存最后一个来自循环的值。如何保存循环中的所有结果?
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
答案 0 :(得分:0)
要在每次循环中存储可变数量的值,当您要绘制最终数组时,我将使用列表,然后使用toArray
方法。
例如,在代码的开头创建一个列表,将结果存储在以下位置:
deltay_list = list()
然后在循环中,将元素添加到列表中:
deltay_list->add, deltay1, /extract
EXTRACT
关键字指示您应添加deltay1
的各个元素,而不要将deltay
添加为列表的单个元素。当您想绘图时,请执行以下操作:
deltay_array = deltay_list->toArray()
obj_destroy, deltay_list
plot, deltay_array