问题标签 [idl-programming-language]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
plot - 在 IDL 中使用科学计数法绘图
我想知道在使用 IDL 的绘图包绘制图表时是否可以(以及如何)以科学计数法绘制数字(例如 4e2 而不是 400)。
contour - 有人可以很好地解释 IDL 轮廓编程中的“high_low”值吗?
“一个字节,如果轮廓高于其周围环境,则为 1,如果轮廓低于其周围,则为 0。” 解释对我来说根本没有意义。:-(
我正在尝试编程的上下文是我正在绘制 kelvin-helmholtz 漩涡,我只想突出显示从初始漩涡中脱离的闭合轮廓。所以,沿着我的情节外部封闭的轮廓是不好的。我正在修改的代码将所有 high_low = 1 值视为不符合我们想要的轮廓,但我不明白为什么。
任何帮助都会很棒!谢谢你!
spawn - 在 IDL 中使用 spawn 命令
我对 IDL 很陌生(试图为使用它的人做一个 POC),我正在尝试运行一个外部命令。我添加的代码行是这样的:
spawn, 'C:\Program Files\ITT\IDL\IDL80\products\envi48\save_add\visual.exe'
我认为这就是启动外部命令所需的全部内容。当我运行应用程序时,我可以使用调试器单步执行代码,当我到达这一行并单步执行时,我的可执行文件不会运行。我在调试器中看不到任何指示任何类型错误的消息。
我将文件 visual.exe 放在目录中,并且可以手动运行它而没有问题。它似乎只是直接跳过代码而不执行它或报告任何错误。
matlab - IDL 和 MatLab 从 NetCDF 文件中获取奇怪的值
我有一个 NetCDF 文件,其中包含代表全球几个月内总降水量的数据(因此它存储在一个三维数组中)。我首先在 XConv 和 ncdump 中确保数据是合理的,以及它的形成方式。一切看起来都很合理 - 值从非常小(~10^-10 - 这是有道理的,因为这是模型数据,并且有效地表示零)到大约 5x10^-3 不等。
当我尝试在 IDL 或 MatLab 中处理这些数据时,问题就开始了。在这些程序中生成的数组充满了巨大的负数,例如 -4x10^4,偶尔还有巨大的正数,例如 5000。奇怪的是,在 MatLab 中查看数据关于经纬度的图(在特定时间),降雨模式看起来很合理,但数值完全错误。
在 IDL 中,我正在读取文件以将其写入文本文件,因此它可以由一些采用非常基本的文本文件的软件处理。这是我正在使用的代码:
任何人都知道为什么我在 MatLab和IDL 中得到如此奇怪的值?!
graph - IDL:如何在 iplot 中绘制简单的二维图
从一个示例(创建于 2009 年)中读取,我创建了一个.dat
名为temperature_vs_current.dat
2 列数据的文件。该示例说我应该通过以下方式将文件读入 IDL
但这会返回
我应该如何格式化我的输入,这里的错误是什么?这是 IDL 版本 6.0
python - 在python中读取二进制文件
我必须在 python 中读取二进制文件。这是首先由 Fortran 90 程序以这种方式编写的:
我可以使用以下 IDL 代码轻松读取此二进制文件:
我想做的是用 Python 读取这个二进制文件。但也有一些问题。首先,这是我读取文件的尝试:
我尝试读取前两个变量:
但是正如你所看到的,我不得不添加到虚拟变量中,因为不知何故,fortran 程序在这些位置添加了整数 8。
现在的问题是尝试读取其他字节时。我没有得到 IDL 程序的相同结果。
这是我尝试读取数组 n
但是,当我打印这个数组时,我得到了无意义的值。我的意思是,我可以使用上面的 IDL 代码读取文件,所以我知道会发生什么。所以我的问题是:当我不知道确切的结构时如何阅读这个文件?为什么使用 IDL 阅读起来如此简单?我需要用 Python 读取这个数据集。
arrays - 定义具有未知大小数组的 IDL 类作为成员变量
我对 IDL 比较陌生,所以我确定我想要做的实际上是微不足道的!
我正在创建一个包含一些成员变量的类。其中两个只是浮点数,但第三个我想成为一个大小未知的 3 维数组(嗯..实际上我知道第三个维度的大小是 12,但就是这样!)。我如何在类定义中声明它还是不可能的?也许我需要使用非数组数据结构..?
到目前为止,这是我的代码:
python - IDL 和 Python 的 FFT 区别
我将一些简单的 IDL 代码传递给 Python。然而,从 SciPy/NumPy 包返回的 FFT 值与 IDL 不同,我不知道为什么。
将其全部简化为 8 个元素的简单示例,我发现 SciPy/NumPy 例程返回的值比 IDL 例程大 8 (2^3) 倍(我认为是规范化问题)。
这是两种语言的示例代码(从此处复制):
IDL
返回
(1.62500,000)(0.420495,0.506282)(0.250000,0.125000)(-1.17050,-1.74372)(-2.62500,-0.00000)(-1.17050,0.00000)(-1.17050,1.74372)(0.250000,-0.125000)(0.420495,-0.506282)
Python
返回
[ 13. +0.j , 3.36396103 +4.05025253j, 2. +1.j , -9.36396103-13.94974747j, -21. +0.j,-9.36396103+13.94974747j,2.-1.j,3.36396103 -4.05025253j]
我用 NumPy 包做到了,我得到了相同的结果。我也尝试过print fft(signal, 8 )
以防万一,但它返回的结果与预期的一样。
然而,这还不是全部,回到我真正的 256 个元素数组,我发现差异不再是 8 或 256,而是 256*8!这太疯狂了。
虽然我解决了这个问题,但我需要知道为什么会有这种差异。
已解决:这只是标准化,在某些时候我将 IDL 256 阵列除以 8 倍,但我忘记删除了。在 Dougal 的回答中有我错过的文档。
arrays - IDL 读取多个文件
我对 IDL 比较陌生,我需要实现以下目标:基本上我所要做的就是读取不同的文件并在读取它们时创建不同的数组。
所以我在想这样的事情:
但是此时如何通过跟踪文件的例如名称来创建不同的数组。
例如:
等等。
希望这很清楚,最好的。
bash - 使用变量从 bash 运行 IDL 程序
我在 IDL 中编写了一个程序来根据命令行参数生成散点图。我可以像这样直接在终端中成功调用程序:
idl -e "scatterplot_1_2d_file.pro" $infile $outfile $title $xtitle $ytitle $xmin $xmax $ymin $ymax $timescale
其中 $* 指的是输入的一些字符串文字。问题是,我认为我可以只输入那一行,将变量名代替文字,放入 bash 脚本中,并生成一百万个散点图在我休息的时候。不幸的是,如果我这样做,我会收到错误:
idl: -e 选项不能与批处理文件一起指定
所以我的下一个尝试是尝试将这些命令写入一个 IDL 批处理文件,然后我会运行该文件。
该尝试如下所示:
我不知道脚本生成的大部分错误是否相关,所以我只发布开始,如果您需要,我会在稍后发布其余部分:
我不知道我是否只是在尝试做一些无法完成的事情,但它似乎并不喜欢它。有什么建议吗?