代码相关(IDL)


idl官档:https://www.l3harrisgeospatial.com/docs/routines-1.html

idl画图

plot,oplot:

保存graphic需要用到
set_plot, ‘ps’
device, filename=‘path/name.ps’
…;各种plot(多条线)
device, /close_file

cgplot,cgoplot:

可以直接输出图片,用关键词output=‘path.name.ps’
暂时只会,单条线

idl毛病

for循环的syntax error

之前没用过idl,刚用idl的时候,写for循环在一个pro里,运行总报错:syntax error
检查了代码,按照逻辑是没错的,后来google了,说是idl在终端用@跑的话,idl对于pro文件是按照行读取的。
也就是不管是for循环还是if条件等等,都是一行一行读,如果用for do begin会出错,如果用for do就没事,因为for do写在一行里了。

for i =0,10 do print,i

这样写没问题,会逐个输出i
但是像下面这样写就会有问题

for i=0,10 do begin
	print,i
endfor

因为它是先执行for i=0,10 do begin
再执行print,i
再执行endfor的
解决办法:不要@执行,用.r执行
🤷‍♀️,没有办法,居然是这么个解决办法,所以说,换语言就要承担被气晕的风险

版本问题

foreach函数在8.0以下不能用

idl函数

写txt文件

循环向某个txt文件中写东西,其中10b是ascii的换行符,如果不加换行符,循环的时候会接着上次的写。
而且string(10b)不能写成’10b’,会出错。

openw,1,'path/name.txt'
for num = 0,sed_num-1 do begin
	name = string(num) + string(10b)
	writeu,1,name
endfor
close,1

读ASCII数据

按列读用readcol
按列存用writecol

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值