【问题标题】:Creating a 2D array in IDL starting from an equation从方程开始在 IDL 中创建二维数组
【发布时间】:2022-01-05 08:06:53
【问题描述】:

我正在尝试在 IDL 中绘制由和方程描述的数量的等高线图,这里我将其设为 x^2 + y。 为此,我首先需要创建一个二维数组(“pxx”)。

作为一个新手,我目前只是朝着这个方向迈出了第一步,到目前为止,我一直在努力使这个更简单的 foreach 循环工作:

pxx=fltarr(10, 10)

xx = indgen(10)
yy = indgen(10)

foreach k, xx do begin
  pxx[k,*]=3*k
endforeach
  
print, pxx

但这似乎只适用于最后一列。关于如何解决这个问题的任何想法?你会如何建议我继续为上面的等式在空间中创建一个二维数组? 提前谢谢你,任何帮助表示赞赏

【问题讨论】:

    标签: arrays contour idl-programming-language


    【解决方案1】:

    选择您要评估的xy 值的范围:

    n = 10
    x = findgen(n) - (n - 1)/2.0
    y = findgen(n) - (n - 1)/2.0
    

    xy 扩展为它们自身的二维版本:​​

    xx = rebin(reform(x, n, 1), n, n)
    yy = rebin(reform(y, 1, n), n, n)
    

    评估函数:

    z = xx^2 + yy
    

    剧情:

    contour, z, x, y
    

    【讨论】:

    • 非常感谢,这真的很有帮助
    猜你喜欢
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 2011-07-18
    • 2013-11-22
    • 1970-01-01
    • 2023-01-04
    • 2019-12-04
    相关资源
    最近更新 更多