[問題] 想請問讀大量檔案的問題

看板Fortran作者 (錢阿宥)時間15年前 (2009/08/16 01:42), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
因為模擬的關係,有很多筆資料要整理 其實也只是整理出資料的平均跟均方根 之前因為模擬的時間並不長(產生1000筆資料) 所以沒有發現問題 可是現在加長模擬時間 所以資料數也變多了(約8000筆) 但是卻在讀取第7000筆資料完後出現錯誤 forrtl:sever (24): end-of-file during read, unit 7000, file E:\48\data\windprofile6-8_20b(uctr)-7100 Image PC Routine Line Source ctr_profile.exe 00412669 Unknown Unknown Unknown ctr_profile.exe 004124C7 Unknown Unknown Unknown ctr_profile.exe 004116A4 Unknown Unknown Unknown ctr_profile.exe 00411AD9 Unknown Unknown Unknown ctr_profile.exe 0040CA15 Unknown Unknown Unknown ctr_profile.exe 00401273 Unknown Unknown Unknown ctr_profile.exe 0044D3A9 Unknown Unknown Unknown ctr_profile.exe 00432839 Unknown Unknown Unknown kernel132.dll 7C816FE7 Unknown Unknown Unknown Incrementally linked image--PC correlation disabled. 其實我心裡是覺得不是程式問題而是矩陣的問題 爬文之後又覺得難道是我矩陣太大無法負擔嗎? 所以想請問板上高手是否能指點迷津 感謝~ --以下為程式----- program aa implicit none character:: onput_file*10 ,input_file*10 CHARACTER FNM*40,FNM1*40,FNM2*40,word(20)*40,wordaa,temp1(20)*40 integer i,ii,jj,a,j,a1,a2,kk,jjj,n,data_n real point,x(50),y(50),z(50) real filedata(19,10,50),temp(19,10,50) real velocity(19,8000,50),mean_V(19,50),rms_V(19,50) real velocityx(19,8000,50),mean_Vx(19,50),rms_Vx(19,50) real velocityy(19,8000,50),mean_Vy(19,50) real velocityz(19,8000,50),mean_Vz(19,50) write(*,*)"資料點數目:" data_n=19 !有19條線要讀取 OPEN(7000,FILE="FILENAME(plctr).txt") OPEN(8000,FILE="mean_V(plctr).dat") OPEN(8500,FILE="V(plctr).xls") !OPEN(9000,FILE="mean_dV(plctr).dat") !---------------------------------------- !***************** DATA ***************** !---------------------------------------- READ(7000,*) KK !--------每筆資料讀取-------------------- DO J=1,KK READ(7000,'(a)') FNM fnm1=fnm(1:len_trim(fnm)) OPEN(J,FILE=FNM1) !plane-ctr point 9520 DO n=1,data_n read(J,*)word(n),wordaa,point read(J,*) do i=1,point read(J,*)filedata(n,1,i) end do read(J,*) read(J,*) do i=1,point read(J,*)filedata(n,2,i) end do read(J,*) read(J,*) do i=1,point read(J,*)filedata(n,3,i) end do read(J,*) read(J,*) !風速 do i=1,point read(J,*)filedata(n,4,i) end do read(J,*) read(J,*) do i=1,point read(J,*)filedata(n,5,i) end do read(J,*) read(J,*) do i=1,point read(J,*)filedata(n,6,i) end do read(J,*) read(J,*) do i=1,point read(J,*)filedata(n,7,i) end do read(J,*) read(J,*) .........(略) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.169.186

08/16 11:06, , 1F
出現什麼錯誤訊息
08/16 11:06, 1F
※ 編輯: moneyyoyo 來自: 61.229.183.215 (08/16 12:12)

08/16 19:40, , 2F
語法沒錯,執行錯誤,是醬子嗎?
08/16 19:40, 2F

08/16 22:39, , 3F
檢查一下第7000筆資料有無異常或錯誤
08/16 22:39, 3F

08/16 22:40, , 4F
找不出來也可以嘗試改順序 把第7000筆先拿走 看其他能否ok
08/16 22:40, 4F

08/16 22:40, , 5F
如果不是資料異常的話 就要檢查其他問題了XD
08/16 22:40, 5F
哈哈~不好意思我找到錯誤了.... 我錯在很笨的地方 OPEN(7000,FILE="FILENAME(plctr).txt") 改成 OPEN(70000,FILE="FILENAME(plctr).txt") 至於為什麼...我不會解釋>///////////< 謝謝大家囉 ※ 編輯: moneyyoyo 來自: 163.13.138.187 (08/17 13:08)
文章代碼(AID): #1AXlDpLf (Fortran)
文章代碼(AID): #1AXlDpLf (Fortran)