我有第一个矩阵,它应该为每个用户(在行中)他们喜欢哪些产品(列)进行计算。 我们带3个用户和5个产品。 没有用户喜欢的产品,所以我的矩阵iLike的等于NUL矩阵:用F#中的另一个矩阵实现矩阵
let matrixILike = [[0.; 1.;2.;3.]
[1.;0.;0.;0.]
[2.;0.;0.;0.]
[3.;0.;0.;0.]
[4.;0.;0.;0.]
[5.;0.;0.;0.]]
现在用户1喜欢的产品2和用户3喜欢的产品5,可以在下面的矩阵来概括:
let matrixAction = [[1.;2.]
[3.;5.]]
所以我想实现矩阵iLike的感谢matrixAction获得新的更新matrixILike这样的:
let matrixILike = [[0.; 1.;2.;3.]
[1.;0.;0.;0.]
[2.;1.;0.;0.]
[3.;0.;0.;0.]
[4.;0.;0.;0.]
[5.;0.;0.;1.]]
我尝试用“匹配无线做到这一点th“代码,但它不起作用。
for k = 0 to matrixAction.NumRows - 1 do
match (matrixAction.[k,0] , matrixAction.[k,1]) with
| (matrixILike.[x,0] , matrixILike.[0,y]) -> (matrixILike.[x,y] <- 1.)
| _ -> (matrixILike.[x,y] <- 0.)
matrixILike
如果您有任何建议,我接受它。
谢谢Gustavo,非常可观。也感谢丹尼尔非常有帮助 – fabco63