IDL PRACTICE -introduction-
IDLで出来ること
IDL> print,3*5
15
#計算結果を表示#
IDL> print,3/5
0
#整数で表示しているので、小数点以下は切捨て#
IDL> a=3*5
#計算結果をaという変数に代入#
IDL> help,a
A INT = 15
#INTはintegerのこと、-32768~+32768までの整数#
IDL> a=sqrt(a) & help,a
A FLOAT = 3.87298
#変数aの内容を再定義し、helpで表示。floatは有効数字6桁の浮動小数点#
IDL> a=sqrt(15)&print,a
3.87298
IDL> a=[1,2,3,4,5,6]
#1~6までの整数値を持つ要素数6の配列Aを作成#
IDL> print,a,2*a
1 2 3 4 5 6
2 4 6 8 10 12
#IDLの演算子や関数は、データ型の変更をしなくても、スカラー型と配列型の両方の型が使用できる。#
IDL> b=sqrt(a)
#配列Aの各要素の平方根を取り、それらの値を変数Bに代入#
IDL> help,a,b
A INT = Array[6]
B FLOAT = Array[6]
#Aは整数要素6個の配列 Bは浮動小数点要素6個の配列#
IDL> print,b
1.00000 1.41421 1.73205 2.00000 2.23607 2.44949
IDL> a=fltarr(100)
#aを100個の浮動小数点の要素を持つ配列として定義する。#
IDL> for i=0,99 do a(i)=i
#例えばa(0)=0,a(40)=40#
IDL> print,a(0),a(40)
0.00000 40.0000
IDL> for i=0,99 do a(i)=i/2
IDL> print,a(0),a(40)
0.00000 20.0000
IDL> print,a(10:19)
5.00000 5.00000 6.00000 6.00000 7.00000 7.00000
8.00000 8.00000 9.00000 9.00000
#10~19までの配列を表示。しかしなぜ整数値になっているのか?
どうやら"/2"の演算では整数表示になってしまうらしい。#
IDL> b=sin(a/5)/exp(a/50)
IDL> plot,b
IDL> plot,b,cos(a/5)
#cos(a/5)で表されるベクトルに対して、ベクトルbを表示。つまり横軸bで縦軸cos(a/5)。#
IDL> plot_io,shift(abs(fft(b,1)),50)
#bのパワースペクトルをplot。plot_ioは、線型対数目盛でplotする。#
IDL> a=findgen(50)
#このコマンドは、各要素がその添字の値を保持したまま、50個の要素を持つ配列としてaを再定義#
IDL> help,a
A FLOAT = Array[50]
IDL> print,a(49)
49.0000
IDL> z=b # a
#行列の積を求める#
IDL> help,z
Z FLOAT = Array[100, 50]
IDL> contour,z
#zの簡単な輪郭plotを表示#
IDL> surface,z
#zのwire flame surfaceを表示#
IDL> shade_surf,z
#zを陰影付き面として表示#
IDL> show3,z
#zを画像、wire flame surface,およびcontour plotとして同時に表示#
IDL> map_set,/grid,/continents,/mercator
#大陸の輪郭を表す地球のmercator投影図を表示#
IDL> Quit
#Ctrl+¥でkipsuhに戻る#
hiro-wt アットマーク soleil.mbox.media.kyoto-u.ac.jp