Можно управлять многомерными числовыми массивами при помощи введенных функций доступа к данным как mxGetDoubles и mxGetComplexDoubles. Пример, из которого findnz.c берет N-мерный массив, удваивает и возвращает индексы для ненулевых элементов в массиве.
Создайте пример.
mex -R2018a findnz.c
Создайте демонстрационную матрицу.
matrix = [ 3 0 9 0; 0 8 2 4; 0 9 2 4; 3 0 9 3; 9 9 2 0]
matrix =
3 0 9 0
0 8 2 4
0 9 2 4
3 0 9 3
9 9 2 0findnz определяет положение всех ненулевых элементов в матрице.
nz = findnz(matrix)
nz =
1 1
4 1
5 1
2 2
3 2
5 2
1 3
2 3
3 3
4 3
5 3
2 4
3 4
4 4mxGetComplexDoubles | mxGetDoubles