Re: [問題] 請問一下 我不能跑
我先把註解拿掉
: 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
推
08/23 11:29, , 1F
08/23 11:29, 1F
→
08/23 11:30, , 2F
08/23 11:30, 2F
→
08/23 11:31, , 3F
08/23 11:31, 3F
※ 編輯: awer89 來自: 163.13.111.146 (08/23 23:12)
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
3
8
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章