Я пытаюсь реализовать функцию f #, которая реплицирует функцию matlab ndgrid с использованием библиотеки f # Tensor из DeepML.Net.Я новичок в F # и в стиле функционального программирования в целом и, похоже, не могу найти решения для этого другого, чем грубая сила вложенного цикла.
Код matlab, который я пытаюсь эмулировать, выглядит примерно так, как показано ниже, но я хотел бы поддерживать произвольные измерения длины и количество измерений.
a = [0 1];
b = [2 3];
c = [4 5];
d = [6 7];
[A, B, C, D] = ndgrid(a,b,c,d)
Какие выходные данные:
ans(:,:,1,1) =
0 0
1 1
ans(:,:,2,1) =
0 0
1 1
ans(:,:,1,2) =
0 0
1 1
ans(:,:,2,2) =
0 0
1 1
B =
ans(:,:,1,1) =
2 3
2 3
ans(:,:,2,1) =
2 3
2 3
ans(:,:,1,2) =
2 3
2 3
ans(:,:,2,2) =
2 3
2 3
C =
ans(:,:,1,1) =
4 4
4 4
ans(:,:,2,1) =
5 5
5 5
ans(:,:,1,2) =
4 4
4 4
ans(:,:,2,2) =
5 5
5 5
D =
ans(:,:,1,1) =
6 6
6 6
ans(:,:,2,1) =
6 6
6 6
ans(:,:,1,2) =
7 7
7 7
ans(:,:,2,2) =
7 7
7 7
Matlab ndgrid документы: https://www.mathworks.com/help/matlab/ref/ndgrid.html
Тензор F #: http://www.deepml.net/Tensor/