close
撰寫者:吳育倫

----------------------------------------------------------------------------------------------------
‎; 這程式用來從檔案讀檔, 轉成矩陣, 並畫圖, 使用ps格式輸出

pro IDLtest
 

openr,1,'G:\IDLtest\0000.txt' ;讀檔案, 定義成 1 這代號, 後面是路徑

xx=' ' ; 設定xx是空格,在' '之間是被定義的字
aa=0. ; 定義aa是有小數點的數字
bb=0.

aaa=fltarr(3) ;定義aaa是矩陣, 矩陣有2欄
bbb=fltarr(3)

readf,1,xx ; 讀檔, 把檔案的第一欄標題用空格跳過

i=0 ;定義i是0, 作為矩陣開始的欄位
while not eof(1) do begin ; 讀檔, 當檔案 1 讀完前都執行到endwhile之前的這段的動作
readf,1,format='(7x, f6.3, x, f6.3)', aa, bb ; 讀檔案, 格式x是空格, f是小數點, 把讀的第一列值視為aa, 第二列視為bb
aaa(i)=aa ;把aa轉換成矩陣 aaa
bbb(i)=bb
i=i+1 ; 使矩陣項目加到下一個
endwhile

; 把矩陣拿來畫圖, 畫圖一定是要矩陣格式
set_plot,'ps'
device,filename='G:\IDLtest\0000.ps'
;上面兩行是將要畫的圖用device輸出, 輸出成.ps的檔案(可用ghost script開)

plot, aaa,bbb, $
linestyle=0, psym=1 , xrange=[-20,30], yrange=[-10, 60] ,/xstyle, /ystyle, /isotropic
; 上面兩行在畫圖, 把矩陣aaa視為圖的x軸, 矩陣bbb視為圖的y軸,符號 $ 表示連結兩行用的連接符號
; linestyle表要畫的線的格式, psym表點的形狀, 後面的數字是IDL內的代碼, 可由help中的索引查找出
; xrange表要顯示的X軸範圍,在[]中的數字表顯示的最小,最大範圍, yrange表y軸
; /xstyle表要將x軸的實際顯示範圍與使用xrange設定的範圍完全相符, /ystyle表y軸
; /isotropic表將顯示的X軸與Y軸顯示比例調整成完全相同的

;print,aaa, bbb

device, /close ;將之前設定的device關閉

print, 'ok' ;只是在最後print一個ok來表示程式跑完了
close,/all ;關閉全部之前打開的檔案, 也可以只關閉指定代號的檔案, 例如close,1表把1這個檔案關閉
end ; 結束這個程式, 放棄這個回合

撰寫者:吳育倫

arrow
arrow
    全站熱搜

    YAP 發表在 痞客邦 留言(0) 人氣()