作者awer89 (Dolphin)
站内Fortran
标题Re: [问题] 请问一下 我不能跑
时间Tue Aug 23 06:39:00 2011
我先把注解拿掉
: program main
: implicit real*8 (a-h,o-z)
a~h,o~z开头的变数通通宣告为浮点数
: implicit integer*4 (i-n)
i~n开头变数宣告为整数
: parameter (freqmin=2.01d0)
: parameter (freqmax=7.5d0)
分别为常数 freqmin=2.01d0 & freqmax=7.5d0
: parameter (nplot=15001)
: parameter (numfreq=100)
: parameter (sigma=0.1d0)
: parameter (scale=1.d0)
如上
: dimension w(numfreq),a(numfreq),v(numfreq),b(numfreq)
宣告4个阵列
: fnplot1=nplot-1
: delf=(freqmax-freqmin)/fnplot1
: fwhm=sigma
: open(unit=1,file='input.dat',status='old')
开启一个旧档案 档案名称为 input.dat
: do i=1,numfreq
: read(1,*,end=10) idum,w(i),v(i),a(i)
: end do
回圈 用来读取 idum,w(i),v(i),a(i)
!!end=10是让程式读到eof的时候跳到10,不是每读完一笔资料
!!就到10 所以当资料数量少於numfreq的时候会跳到10
!!等於或大於numfreq的时候会跳到11
::错误修改
: go to 11
跳到标示11的部分 ==> : 11 continue
: 10 continue
: npts=i-1
: go to 12
: 11 continue
: npts=numfreq
: write(*,*) 'maximum number of frequencies read:',numfreq
: 12 continue
: close(unit=1)
将档案关闭
==========================================================================
: do i=1,nplot |
: fi=i-1 |
: x=freqmin+fi*delf |
: sum=0.d0 |
: sums=0.d0 |
: do j=1,npts |
: sum=sum+a(j)*exp(-(x-w(j))**2/(2.d0*fwhm**2)) |
: end do |
: x=8065.54099*x |
: y=1.d7/x |
: write(*,*) i,x,y,sum |
: end do |
: end |
===========================================================================
经过回圈和一些计算 把 i,x,y,sum 4个值输出到萤幕
--
--
▉╯╰ ▅▃▂ ▂
▏ ╱
█ ╮╭
▆▅ ▂▅▆ ▎ ╱ █ ╱ ╱ █ ╱
▉ ◢▋ ▄▄ ▉ ◢▋ ╱ ████████████
▉ ▆█◤ ▊
▎ ▉ ▆█◤ ╱ ╱
█
█ ▋
▍ ▎ █ ████████████
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.42.202.94
1F:推 terryys:end=10是让程式读到eof的时候跳到10,不是每读完一笔资料 08/23 11:29
2F:→ terryys:就到10 所以当资料数量少於numfreq的时候会跳到10 08/23 11:30
3F:→ terryys:等於或大於numfreq的时候会跳到11 08/23 11:31
※ 编辑: awer89 来自: 163.13.111.146 (08/23 23:12)