1
我想寫一個標量輸入,但數組輸出的函數。Fortran函數數組
我的例子是:
Ts(theta) = reshape((/ dcos(theta)**2.d0, dsin(theta)**2.d0, -dsin(2.d0*theta)/2.d0, &
dsin(theta)**2.d0, dcos(theta)**2.d0, dsin(2.d0*theta)/2.d0, &
dsin(2.d0*theta), -dsin(2.d0*theta), dcos(2.d0*theta) /), (/3,3/))
Ts(theta)
該被讀作一個1個維陣列,但我希望的輸出作爲2維陣列。
這可能嗎?
聲明函數不能是數組,你必須使用聲明的函數。 –
@KyleKanos我是Fortran的新手,聲明函數和聲明函數有什麼區別? – user2443036
我嘗試以下失敗:程序TEST2 隱無 實(RP):: TS(3,3) 打印*,TS(ACOS(0.d0)) 端程序test2的 功能TS(THETA) 隱(rp),intent(in):: theta real(rp):: Ts(3,3) Ts = reshape((/cosθ**)2.d0,sin(θ)** 2.d0,-sin(2.d0 *θ)/2.d0,& sinθ** 2.d0,cosθ** 2.d0,sin(2.d0 *θ)/ 2 (2.d0 *θ), - sin(2.d0 *θ),cos(2.d0 *θ)/),(/ 3,3 /)) END函數 – user2443036