0
我想打印由我的函數f形成的整數的4x4矩陣。ghci中的Haskell打印整數矩陣
import Numeric
import Numeric.LinearAlgebra
import Numeric.LinearAlgebra.Data
--import Numeric.Matrix
import Data.Array
f m n | (n==0) = 0
f m n | (m==1) = n
f m n = f (m-1) n + f m (n-1)
mymat = matrix 4 4 $ f
在最後一行的類型錯誤時,我想找到的功能適當變體與填充的行和列的函數計算的結果二維矩陣。
====== ======編輯
我已經找到了解決方案,但奇怪的是,這是不容易找到矩陣填充的非標準功能。也許有一個?
import Numeric
import Numeric.LinearAlgebra
import Numeric.LinearAlgebra.Data
import Data.Array
f m n | (n==0) = 1
f m n | (m==0) = 1
f m n = f (m-1) n + f m (n-1)
qw x y 0 = [f 0 0]
qw x y n = (qw x y (n-1)) ++ [f (mod n x) (div n y) ]
mymat x y = matrix x (qw x y (x*y-1))
總是添加確切的錯誤信息。 – Zeta
您的函數'f'不會以矩陣函數接受的方式創建矩陣。它需要許多行和一個包含內容的平面列表。 'f'只是'Int - > Int - > Int'的一個函數。你可以把它變成一個嵌套列表,用於例如'matrix'。 '[f x y | x < - [0..3],y < - [0..3]]'。 – user2407038
始終添加確切的錯誤消息,始終使用類型簽名,並始終確保您發佈的代碼實際上重現了問題。 – leftaroundabout