Я совершенно новичок в f # и мне нужна помощь для домашней работы
У меня есть эта функция, и когда я вызываю ее с параметрами, она возвращает ошибку
вот код
let MatrixMultiply (matrix1 : _[,] , matrix2 : _[,]) =
let result_row = (matrix1.GetLength 0)
let result_column = (matrix2.GetLength 1)
let ret = Array2D.create result_row result_column 0
for x in 0 .. result_row - 1 do
for y in 0 .. result_column - 1 do
let mutable acc = 0
for z in 0 .. (matrix1.GetLength 1) - 1 do
acc <- acc + matrix1.[x,z] * matrix2.[z,y]
ret.[x,y] <- acc
ret
вот сообщение об ошибке:
ошибка FS0001: ожидание типа, поддерживающего оператор '*', но с типом кортежа
let mat3 = (MatrixMultiply (mat1, mat2))
printfn "%A" mat3
так я использую эту функцию, переменные mat1 и mat2 представляют собой 3x3 2D-матрицы
let mat1 = Array2D.init 3 3 (fun x y -> (rand.Next(x+10),rand.Next(y+10)))
let mat2 = Array2D.init 3 3 (fun x y -> (rand.Next(x+10),rand.Next(y+10)))