[問題] 讀取資料時用陣列表示

作者: s23325522 (披著狼皮的羊)   2014-05-11 20:52:34
題目:在做量測的時候,時常碰到雜訊的問題,使得訊號的趨勢不很明顯,有時可以用
移動平均值使得資料曲線較平滑。假設每五個資料點取一個平均值稱為 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贈送
給出方向的人
作者: terryys (terry)   2014-05-11 21:32:00
把s宣告成陣列,real s(57)然後讀的時候就變成read(11,90)s(n)應該是read(11,90)s(i)
作者: shuyun   2014-05-12 10:30:00
平均值只有53筆,資料第54筆以後沒有五個數值可算滑動平均
作者: terryys (terry)   2014-05-12 13:34:00
sum(s(a:a+b-1))/b 從a開始,拿b個數值算平均

Links booklink

Contact Us: admin [ a t ] ucptt.com