星空研究Memo

ここは某天文屋の外部記憶装置である。

U Cephei

2011-06-29 03:22:58 | 独り言
めもめも。
自分用というか、今年の4年生用に。

http://www.nature.com/nature/journal/v253/n5488/abs/253173a0.html
http://adsabs.harvard.edu/abs/1989SSRv...50..355N
http://www.scribd.com/doc/54024761/Research-on-U-Cephei
http://adsabs.harvard.edu/abs/1980ApJ...241..257O
http://adsabs.harvard.edu/abs/1974A%26A....37..263H
http://adsabs.harvard.edu/abs/1976ApJ...204..141O
http://adsabs.harvard.edu/abs/1980ApJ...237..496O
http://adsabs.harvard.edu/abs/1944ApJ....99..222S
http://articles.adsabs.harvard.edu/full/1977AcA....27..167H

歴史ある星だけに、ちょっと調べるのもなかなか大変そう...
中にはネイチャー論文もあります。これは図書館でコピーですなぁ。

以下 GCVS より。
 type: EA/SD
 range: 6.75 - 9.24
 period: 2.4930475
 sp.: B7Ve+G8III-IV

ふーむ、なるほど輝線が見えるんですなぁ。
今度4年生とスペクトル撮ってみよう。

機材調整

2011-06-24 02:47:33 | 独り言
ボスと相談した結果
EM-200 Temma2 は長年の使用で、ガタがきているのだろうとなり
赤道儀を交換することになりました。

とは言っても、EM-200 Temma に交換ですがw
交換作業は先日4年生の方々と行いました。
それにしても暑かったです(^^;

あまりにも暑くて作業にならんので(雨もぱらついてたし)、
配線とか細かいバランスとかは後日・・・

んで、今夜(涼しい!)配線などやり直し
うす曇りでしたが、北極星が見えたので極軸を調整。
試験的に60秒露出で、どの程度の追尾精度なのか見てみた。

結果、なかなか優秀な追尾精度でした。
前回のようにガタっと東西に動くことも無くなり、
これなら連続測光でもストレスが溜まるようなことはないでしょうw
導入速度は多少遅くなりましたが、そこは問題ないです。

スペクトルの強度較正

2011-06-19 16:23:00 | R言語

スペクトルの強度較正の話しの続きです。
とりあえず、やっとそれらしい処理をしてくれるコードが出来ました。
以下にメモしておく。

==========

obs_name       <- "eta_Ori_sp20110107.txt"           # 入力(観測データ Count)
obs_name_flux  <- "eta_Ori_sp20110107f.txt"          # 出力(観測データ Flux)

std_obs_name <- "2_Ori_sp20110107.txt"               # 入力(標準星データ Count)
std_name     <- "fhr1544.dat"                        # 入力(標準星データ Flux)

#-----
obs_data <- read.table(obs_name)
   obs_wave  <- as.integer(obs_data[[1]])
   obs_count <- obs_data[[2]]
   n_obs <- nrow(obs_data)

std_obs <- read.table(std_obs_name)
   std_obs_wave  <- as.integer(std_obs[[1]])
   std_obs_count <- std_obs[[2]]
   n_std_obs <- nrow(std_obs)

std_data  <- read.table(std_name)
   std_wave  <- as.integer(std_data[[1]])
   std_flux  <- std_data[[2]] * 10^(-16)
   n_std <- nrow(std_data)

#-----カウント値とfluxの割り算(波長は±2で一致させる)
std <- NULL
divi<- NULL
ap <- data.frame(std,divi)

for(i in 1:n_std_obs) {
   obs <- std_obs_wave[i]
         for(j in 1:n_std) {
            std <- std_wave[j]
                 if(obs==std || obs+2==std || obs-2==std) {
                    divi <- std_obs_count[i] / std_flux[j]
                    app <- data.frame(obs, divi)
                    ap <- merge(ap,app,all=T) 
       }}}

#-----分光感度曲線を作る
w1 <- ap[[1]]  
I  <- ap[[2]]
  
  fit <- lm(I ~ w1 + I(w1^2)+I(w1^3)+I(w1^4)+I(w1^5)+I(w1^6)+I(w1^7)+I(w1^8))


#-----各係数の抽出
   fit_coe <- coef(fit)           
     
      w1c    <- fit_coe[[2]]
      w2c    <- fit_coe[[3]]
      w3c    <- fit_coe[[4]]
      w4c    <- fit_coe[[5]]
      w5c    <- fit_coe[[6]]
      w6c    <- fit_coe[[7]]
      w7c    <- fit_coe[[8]]
      w8c    <- fit_coe[[9]]
      bc     <- fit_coe[[1]]

#-----強度較正
   Im <- (obs_wave^8 * w8c + obs_wave^7 * w7c + obs_wave^6 * w6c + obs_wave^5 * w5c +
         obs_wave^4 * w4c + obs_wave^3 * w3c + obs_wave^2 * w2c + obs_wave * w1c + bc)
    mod <- data.frame(obs_wave, Im)

flux      <- obs_count / Im
kousei_go <- data.frame(obs_wave, flux)
write.table(kousei_go, file=obs_name_flux, row.names=F, quote=F, col.names=F)

plot(kousei_go, type="l")




長さの違うオブジェクト

2011-06-17 04:54:55 | R言語
メモメモ。
例えばスペクトルで波長と強度のデータ(sp1)があったとする。

4000 3.10
4010 3.11
4020 3.10
  ・
  ・
  ・
8000 1.20

もう一つ、波長の刻み方(データの長さ)の違うデータ(sp2)があるとする。

4100 3.10
4200 2.11
4300 2.10
  ・
  ・
  ・
7900 1.22

この時、sp1とsp2の波長が同じ行を抽出したい場合のコードを考える。

そのまま subset() や ifelse() をかますと
オブジェクトの長さが違うからダメー!って言われる。
何か他の方法か、工夫が必要か。


-----追記------

とりあえず、for文を2回、if文を1回使って解決。
う~ん、Rらしくないんだろうけど・・・これが今の限界かw