Вместо использования отдельных переменных для отдельных матриц, вы можете использовать список матриц:
let products = [ matrix [[0.;1.;0.]]
matrix [[1.;1.;0.]]
matrix [[1.;1.;1.]] ]
Если ваши матрицы жестко закодированы (как в вашем примере), то вы можете инициализировать список, используя обозначения выше. Если они рассчитываются каким-либо образом (например, как диагональ или перестановки или что-то в этом роде), то, вероятно, есть лучший способ создать список, используя List.init
или аналогичную функцию.
Если у вас есть список, вы можете перебрать его, используя цикл for
:
for product in products do
printfn "%A" product
(В вашем примере вы ни для чего не используете индекс - но если вам нужна индексация по какой-то причине, вы можете создать массив, используя [| ... |]
, а затем обращаться к элементам, используя products.[i]
)