我在Fortran語言這個功能,我試圖重新編碼在C#Fortran的功能說明
C ****************************************************************
C FUNCTION POLY
C*****************************************************************
FUNCTION POLY(N,A,X)
DIMENSION A(N)
C
POLY = 0.
L = N
DO 1 K = 1,N
POLY = POLY*X + A(L)
1 L = L-1
RETURN
END
C*****************************************************************
我發現DIMENSION A(N)
創建N
值的向量,但我們已經有了一個變量A
從函數參數,這是否意味着數組值都等於A
?如果是的話那麼A(N)
有什麼用處。 順便說任何人都可以只解釋請問這個功能,這樣做,我可以在C#中重新實現它
FORTRAN代碼的評論很好,但是你提供的C#和Python代碼是不正確的。 – 2012-04-16 13:46:12
@DavidHeffernan:......以什麼方式? – 2012-04-16 13:55:29
在他們給出錯誤答案的方式。在C#代碼中,你的意思是'='而不是'+ ='。你以錯誤的順序迭代係數。你想'coeff [n-1]','coeff [n-2]'等。而Python代碼與多項式評估無關。你可以通過用'*'替換'+'來修復它,但這不是Horner的方法,效率也不高。這很不錯,它只是給出了錯誤的答案。答案中唯一正確的代碼是C僞代碼。我相信你可以很容易地糾正它,但就目前而言,這個答案是貶低投票的誘餌。 – 2012-04-16 13:57:38