我翻譯一個Matlab代碼到Fortran 90的,我試圖下面這段代碼翻譯:如何在Fortran語言使用語句函數與數組90
func= inline('x+ y+ z', 'x', 'y', 'z')
x(1)= 1, y(1)= 1, z(1)= 1
for n= 1:5
output= 5+ func(x(n), y(n), z(n))
x(n+ 1)= x(n)+ 1
y(n+ 1)= y(n)+ 1
z(n+ 1)= z(n)+ 1
end
Fortran中我使用的語句(在線)函數爲func(x,y,z)= x + y + z,但是,我無法將數組部分插入到函數中。
如何協商'n'對語句函數的依賴?我正在嘗試類似以下的內容,但還沒有完成。
func(x, y, z)= x+ y+ z
x(1)= 1, y(1)= 1, z(1)= 1
do n= 1, 5
func(x(n), y(n), z(n))= x(n)+ y(n)+ z(n)
end
任何幫助將不勝感激。
請注意,這樣做的全部目的是對更復雜的函數使用相同的格式,因爲這些函數很難繼續寫出一百萬次。 –