作者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/cn.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