作者s23325522 (披著狼皮的羊)
看板Fortran
標題[問題] 讀取資料時用陣列表示
時間Sun May 11 20:52:34 2014
題目:在做量測的時候,時常碰到雜訊的問題,使得訊號的趨勢不很明顯,有時可以用
移動平均值使得資料曲線較平滑。假設每五個資料點取一個平均值稱為 m5值,
每 10個資料點取一個平均值就稱為 m10值。由一組連續資料的 m5值 (或m10
值) 構成的線條就是 m5 (或 m10) 移動平均線。寫一個包含Function的程式, 從
提供的檔案(moving.txt)中讀取資料,計算 m5 移動平均值並找出其中最大的
m5移動平均值為何。
我的程式碼:
program hw7
implicit none
real s
integer n,i
OPEN (UNIT=11,FILE='moving.txt',STATUS='OLD')
OPEN (UNIT=21,FILE='final.txt',STATUS='NEW')
n=57
do i=1,n
read(11,90)s
90 format(f11.4)
end do
write(21,*)s
end
我不知道的是如何再把資料讀取出來的時候 轉為陣列 然後來做運算
如求平均值(s(1)+s(2)+s(3)+...)/5 資料一共57筆 感謝 P幣2000贈送
給出方向的人
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.120.223.28
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Fortran/M.1399812756.A.2C5.html
1F:推 terryys:把s宣告成陣列,real s(57) 05/11 21:32
2F:→ terryys:然後讀的時候就變成read(11,90)s(n) 05/11 21:32
3F:→ terryys:應該是read(11,90)s(i) 05/11 21:32
請教一下如何用functuion接收這些數值 然後每取5個算平均值
※ 編輯: s23325522 (140.120.223.28), 05/11/2014 22:44:08
4F:推 shuyun:平均值只有53筆,資料第54筆以後沒有五個數值可算滑動平均 05/12 10:30
5F:推 terryys:sum(s(a:a+b-1))/b 從a開始,拿b個數值算平均 05/12 13:34