0
我知道Fortran中的「轉置」是一種在其對角線上翻轉矩陣的運算符。但是,在下面的代碼中,我遇到了一個錯誤,不知道爲什麼。在Fortran中使用函數「轉置」時出錯
的代碼是:
program main
implicit none
real(8)::a(3,2),b(2,1)
a=reshape((/1.0,2.0,3.0,4.0,5.0,6.0/),(/3,2/))
b=reshape((/1.0,2.0/),(/2,1/))
write(*,*)a(1,1:2)
!Next sentence throw an error
a(1,1:2)=transpose(b)
end program
錯誤是:
錯誤#6366:數組表達式的形狀不符合。 [A]
我認爲「a(1,1:2)」是一行兩列,與「轉置(b)」相同,爲什麼編譯器告訴我「形狀不符合「?
應先搜索。我看到我甚至在副本下有一個刪除的答案。 –
甚至沒有等待足夠長的時間來注意「真實(8)」是醜陋而不便攜的。 –
對不起,因爲我剛剛搜索「錯誤轉置Fortran」,並沒有找到解決方案。之後我會嘗試一些其他關鍵詞,例如錯誤顯示。 –