Re: [問題] 連續變數名稱跟加法的設定

看板Fortran作者 (降太)時間11年前 (2013/05/16 09:41), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串4/5 (看更多)
感謝大家熱心地回應Q___Q 首先先附上我改完的程式 DO i=1,333 DO j=1,495 DO k=1,35 READ(10,*)A(i,j,k) END DO END DO END DO DO i=1,333 DO j=1,495/3 DO k=1,35 DO l=1,3 A(i,j,k)=A(i,(j-1)*3+l,k) END DO END DO END DO END DO 最後還是用三層迴圈去包 因為自己的觀念實在沒有強大到可以用o大那種寫法囧 不過又產生其他的問題... 1.READ回報錯誤編號(24)forrtl: severe (24): end-of-file during read, unit 簡單的說就是宣告讀值的範圍比實際的檔案大 不過在以前用 DO i=1,333 DO j=1,495 READ(10,*)S1(i,j),S2(i,j),S3(i,j),S4(i,j), & S5(i,j),S6(i,j),S7(i,j),S8(i,j), & S9(i,j),S10(i,j),S11(i,j),S12(i,j), & S13(i,j),S14(i,j),S15(i,j),S16(i,j), & S17(i,j),S18(i,j),S19(i,j),S20(i,j), & S21(i,j),S22(i,j),S23(i,j),S24(i,j), & S25(i,j),S26(i,j),S27(i,j),S28(i,j), & S29(i,j),S30(i,j),S31(i,j),S32(i,j), & S33(i,j),S34(i,j),S35(i,j) ENDDO ENDDO 都OK...難道這種兩種寫法是不一樣的? 2.試著FORALL簡化程式 FORALL(i=1:333,j=1:495,k=1:45) READ(10,*)A(i,j,k) END FORALL 卻回報錯誤28,表示這不是正確的FORALL寫法 可是我參考的資料是這種寫法阿囧.... 以上兩個問題再麻煩各位了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.29.185

05/16 23:34, , 1F
Q1-> 我猜你35筆資料都在同一行,一個read會換一行
05/16 23:34, 1F

05/16 23:35, , 2F
所以新的讀取方法只讀到第一個值就跳下一行繼續讀
05/16 23:35, 2F

05/17 00:37, , 3F

05/17 00:37, , 4F
tran-forall-restrictions 。
05/17 00:37, 4F
文章代碼(AID): #1Hb3bc39 (Fortran)
文章代碼(AID): #1Hb3bc39 (Fortran)