matlab输入数组换行,三维数组换行输入到文件(intel fortran 编译器) - 程序语言 - 小木虫 - 学术 科研 互动社区...
我是利用
write(17,300) (r2is(i,j,k),i=1,imax)
300 FORMAT (107E15.6)? ? !107為imax值
來達到目的的!!!!!
但最后發現,對imax值較小時(目前驗證為107)是可行的,但為165時就不行了,照樣可以運行和輸出,但另一個讀取這個輸出的軟件(軟件應該沒問題)出錯。這和Fortran 90/95標準中規定,當程序代碼中的一行超過132個字符時,需要用&續行有關嗎?
我修改如下(但編譯說無法終止):
if(imax.le.132)then
do k=1,kmax
do j=1,jmax
write(17,300) (r2is(i,j,k),i=1,imax)
300 FORMAT (165E15.6)? ?!HERE, 107=imax for alter row per imax
enddo
enddo
close(17)
else
do k=1,kmax
do j=1,jmax
write(17,400) (r2is(i,j,k),i=1,130)
400 FORMAT (130E15.6)
write(17,500)'&'
500 FORMAT (A1)
write(17,600) (r2is(i,j,k),i=131,imax)
600 FORMAT (39E15.6)??! imax-130
enddo
enddo
close(17)
這里兩個問題:
1)是Fortran 90/95標準中規定132列造成的問題嗎?
2)如果是,下面的程序哪點有問題?
謝謝各位兄弟了,
總結
以上是生活随笔為你收集整理的matlab输入数组换行,三维数组换行输入到文件(intel fortran 编译器) - 程序语言 - 小木虫 - 学术 科研 互动社区...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php如何使用代码清除bom,使用php
- 下一篇: php -i | grep config