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