Fortran经典教程(中科大教材).pptVIP

  • 44
  • 0
  • 约3.09万字
  • 约 91页
  • 2019-08-11 发布于福建
  • 举报
記憶體配置 DIMENSION A(5), B(0:4), C(3,4), E(12) A: A(1) A(2) A(3) A(4) A(5) B: B(0) B(1) B(2) B(3) B(4) C: C(1,1) C(1,2) C(1,3) C(1,4) C(2,1) C(2,2) C(2,3) C(2,4) C(3,1) C(3,2) C(3,3) C(3,4) ↓? equivalence C,E C: E: C(1,1) C(2,1) C(3,1) C(1,2) C(2,2) C(3,2) C(1,3) C(2,3) C(3,3) C(1,4) C(2,4) C(3,4) E(1) E(2) E(3) E(4) E(5) E(6) E(7) E(8) E(9) E(10) E(11) E(12) Columnwise storage of data: ?? addr(a(i,j)) = addr(a(1,1))+(j-i)*lda +(i-1) ?? lda is the Leading Dimension of A 效率注意,一起使用的資料,放在同一Column: 資料不連續,效率差 資料連續,效率好 do i = 1, 5 ?? sum = sum + a(1,i) enddo do i = 1, 5 ?? sum = sum + a(i,1) enddo 另外,多維陣列在處理記憶體位置較耗時,使用時須注意。 大小限制 以 Compaq Visual Fortran 6.5 為例,整個程式使用記憶體大小以 256MB 為上限。參考錯誤訊息如下: ------------------------------------------------------------- Linker Tools Warning LNK4084 total image size size exceeds max (256MB); image may not run The application exceeds the limit of 256 megabytes. ------------------------------------------------------------- 設定初值.DATA.隱藏式迴圈 和一般變數相同,同樣可以利用DATA來給定初值 integer A(5) data A/1,2,3,4,5/? ! A(1)=1,A(2)=2,A(3)=3,A(4)=4,A(5)=5 data A/5*3/??????? ! /5*3/表示有5個3,等於/3,3,3,3,3/ ?????????????????? ! A(1)=3,A(2)=3,A(3)=3,A(4)=3,A(5)=3 data (A(i),i=2,4) /2,3,4/?? ! 使用「隱藏式迴圈」,只設定A(i), i=2,3,4 ??????????????????????????? ! A(2)=2,A(3)=3,A(4)=4, A(1)及A(5)未設定 integer B(2,3) data ( (B(i,j),i=1,2) , j=1,3 ) /1,2,3,4,5,6/ ! 巢狀隱藏式迴圈,B(1,1)=1, B(2,1)=2, B(1,2)=3, B(2,2)=4, B(1,3)=5 ,B(2,3)=6   Fortran 90新增:(省去DATA) integer :: a(5) = (/1,2,3,4,5/)????? ! 直接宣告並給初值,但必須5個元素都給 ???????????????????????????????????? ! A(1)=1,A(2)=2,A(3)=3,A(4)=4,A(5)=5 integer :: a(5) = (/1,(2,i=2,4),5/)? ! 結合隱藏式迴圈 ???????????????????????????????????? ! A(1)=1,A(2)=2,A(3)=2,A(4)=2,A(5)=5 integer :: a(5) = (/(i,i=1,5)/)????? ! A(i)=i, i=1~5 ALLOCATABLE - Fortran 90新增 一般在宣告陣列時必須指定大小,但有些問題在執行階段才知道需要多大的陣列,這時經常的解決辦法就是宣告一個足夠大的陣列,並告知使用者操作限制,如: integer student(100), stu_count print *,輸入學生人數(MAX:100) read *, stu_count do i = 1, stu_count ?? print *

文档评论(0)

1亿VIP精品文档

相关文档