暫定記録帳

備忘録

IDLで文字列を置換する方法

2013-05-26 19:44:21 | IDL
result=repstr(obj,in,out)を用いれば可能となる。
result:置換後の文字列
obj:置換前の文字列
in:obj内の検索対象の文字列
out:置換文字列

ex.
a = 'reindeer'
str_after=repstr(a,'reindeer','shika')
print,str_after
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

IDLでNAN等を検出する方法

2013-05-05 10:18:13 | IDL
演算結果に-NaN等が現れた場合に位置を特定する為の方法を記述する。

FINITE()を用いる事で検出が可能となる
Xを検索対象の配列とした場合の例を示す。

非数を検出する場合
FINITE(X,/NAN)

浮動小数の正負の無限を検出する場合
FINITE(X,/INFINITY)

戻り値が1の場合、非数、無限大の値が検出された事を意味している。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

wget.shの改行コード変更

2013-05-03 21:16:59 | IDL
何故かwget.shの改行コードがCRLFになっている為、自宅環境でFITSをダウンロードできない。
改行コードをLFに変更する為のコマンドを記録する

tr -d '\r' <wget.sh> wget_tr.sh
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

IDLでhistogram(ヒストグラム)を描く

2010-02-04 22:12:42 | IDL

IDL> hist_result = histogram(data, binsize = n) 
    ↑binsizeを指定してヒストグラムを作る。binsizeをnbinsで階級の数を決める。
IDL> hist_bins = ( findgen( n_elements( data ) ) * n ) + min( data ) ← 任意のbinsizeに会わせて横軸(階級)を作る
IDL> plot, hist_bin, hist_result ,psym=10 ← psym=10で階段状の絵が描ける

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

IDLでGauss fitting(ガウスフィッティング)を行う

2010-02-02 23:49:18 | IDL
ガウス分布(正規分布)にIDLの組み込み関数を用い、フィッティングを行う。

result=gaussfit(x, y, a, nterms=3)

x : x軸の配列
y : y軸の配列
a : フィッティングした関数の定数が格納される
nterms : フィッティングを行う関数の種類。代入できる値は3,4,5,6のみ。
その他にもオプション有り。。。


因に、現在のフィッティング関数は以下の形式である。
f(x)=A*exp(-(z^2/2))
A : ガウス分布の高さ
z : (x-A1)/A2
A1 : ガウス分布の中心
A2 : ガウス分布の幅(標準偏差 σ)

ここから半値幅(半値全幅:FWHM)を導出するには次の式を用いる。
FWHM = s * sqrt( 2 * ln( 2 ) ) * A2 ≒ 2.35482*A2
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする