暫定記録帳

備忘録

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でシェアする

IDLで多項式フィッティングを行う関数

2009-10-06 00:56:30 | PC関連
1.任意の次数で多項式fit を行う関数
result = poly_fit(x, y, n, yfit = yfit)
フィッティング関数の例:y=a+bx+cx^2. ※poly_fitでは任意の次数を削除できない。

result:各次数の比例定数が得られる。配列に代入される順番は低次数から。
x:xの値, y:yの値,n:フィッティングしたい次数
yfit:各データ点でのフィッティングの値。

2.任意の関数でフィッティングする関数

result = mpfitfun('my_function', x, y, err, p)

my_function:フィッティングさせたい自作関数
result:各次数の比例定数が得られる。配列に代入される順番は低次数から。
x:xの値, y:yの値,n:フィッティングしたい次数
err:については詳細を不明, p:各自数の定数項の初期値
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

IDLで四捨五入、切り捨て、切り上げ

2009-09-15 23:17:44 | IDL
1.四捨五入
result=round(X)
戻り値はinteger

ex.
IDL>print, round(100.5)
IDL>101

IDL>print, round(100)
IDL>100

2.切り捨て
result=floor(X)
戻り値はinteger

ex.
IDL>print, floor(100.5)
IDL>100

3.切り上げ
result=ceil(X)
戻り値はinteger

ex.
IDL>print, ceil(100.1)
IDL>101

※各関数を任意の桁数に対して実行したい場合は
目的の桁を小数点第1位に持ってくると良い


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