gpt4 book ai didi

haskell - 将矩阵相加时出现问题

转载 作者:行者123 更新时间:2023-12-02 19:04:21 27 4
gpt4 key购买 nike

我在编译以下内容时遇到问题:

data Matrix = Matrix [[Float]] deriving (Eq)

aditionMat :: Matrix -> Matrix -> Matrix
aditionMat m1 m2 = Matrix $ zipWith (zipWith (+)) m1 m2

我正在定义自定义矩阵数据类型,但我为将两个矩阵相加而创建的方法不起作用。当我给它两个[[Float]]时,aditionMat工作正常,但当我给它两个Matrix时,它不会编译。错误如下:

无法将预期类型 [[Float]] 与实际类型 Matrix 匹配(对于 m1 和 m2)

对这个非常微不足道的问题表示歉意,但我不明白为什么会失败

最佳答案

m1m2Matrix,而不是 [[Float]],所以你不能在这些上使用 zipWith 。您需要从 Matrix 数据构造函数中解开列表列表:

aditionMat :: Matrix -> Matrix -> Matrix
aditionMat <b>(Matrix</b> m1<b>) (Matrix</b> m2<b>)</b> = Matrix $ zipWith (zipWith (+)) m1 m2

关于haskell - 将矩阵相加时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65257070/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com