第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教Fortran未格式化的文件格式

請教Fortran未格式化的文件格式

皈依舞 2019-09-04 13:05:56
Fortran未格式化的文件格式我不明白fortran中未格式化文件的格式。例如:open (3,file=filename,form="unformatted",access="sequential")write(3) matrix(i,:)將矩陣列輸出到文件中。我發(fā)現(xiàn)它在兩端填充了4個字節(jié)的文件,但是我真的不明白為什么,或者如何控制這種行為。有沒有辦法刪除填充?謝謝
查看完整描述

3 回答

?
守著星空守著你

TA貢獻(xiàn)1799條經(jīng)驗 獲得超8個贊

Fortran未格式化的文件格式

我不明白fortran中未格式化文件的格式。

例如:

open (3,file=filename,form="unformatted",access="sequential")write(3) matrix(i,:)

將矩陣列輸出到文件中。我發(fā)現(xiàn)它在兩端填充了4個字節(jié)的文件,但是我真的不明白為什么,或者如何控制這種行為。有沒有辦法刪除填充?

謝謝


查看完整回答
反對 回復(fù) 2019-09-07
?
蝴蝶刀刀

TA貢獻(xiàn)1801條經(jīng)驗 獲得超8個贊

出于這個原因,我從未使用無格式輸出的順序訪問。但是它取決于應(yīng)用程序,有時候有一個記錄長度指示器(特別是非結(jié)構(gòu)化數(shù)據(jù))很方便。正如steabert在gnuplot上查看來自fortran的二進(jìn)制輸出所示,你可以通過使用關(guān)鍵字參數(shù)來避免這種ACCESS = 'DIRECT'情況,在這種情況下你需要指定記錄長度。該方法便于有效存儲大型多維結(jié)構(gòu)化數(shù)據(jù)(恒定記錄長度)。下面的示例寫入一個大小等于數(shù)組大小的無格式文件:

REAL(KIND=4),DIMENSION(10) :: a = 3.141INTEGER                    :: reclenINQUIRE(iolength=reclen)aOPEN(UNIT=10,FILE='direct.out',FORM='UNFORMATTED',&
     ACCESS='DIRECT',RECL=reclen)WRITE(UNIT=10,REC=1)aCLOSE(UNIT=10)END

請注意,從可移植性的角度來看,這不是理想的方法。在使用直接訪問編寫的無格式文件中,沒有關(guān)于每個元素大小的信息。描述數(shù)據(jù)大小的自述文本文件對我來說工作正常,我更喜歡這種方法而不是順序模式中的填充。




查看完整回答
反對 回復(fù) 2019-09-07
?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗 獲得超1個贊

Fortran IO是基于記錄的,而不是基于流的。每次通過您寫東西時,write()不僅要寫入數(shù)據(jù),還要記錄該記錄的開始和結(jié)束標(biāo)記。兩個記錄標(biāo)記都是該記錄的大小。這就是為什么在一次寫入中寫入一堆實數(shù)(一個記錄:一個開始標(biāo)記,一堆實數(shù),一個結(jié)束標(biāo)記)具有不同的大小,相對于在單獨的寫入中寫入每個實數(shù)(多個記錄,每個一個開始標(biāo)記,一個真實標(biāo)記和一個結(jié)束標(biāo)記。如果你寫下大型矩陣,這是非常重要的,因為如果寫得不正確,你可能會占據(jù)職業(yè)。


查看完整回答
反對 回復(fù) 2019-09-07
  • 3 回答
  • 0 關(guān)注
  • 1205 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號