Можно управлять многомерными числовыми массивами при помощи mxGetData
и mxGetImagData
. Эти функции возвращают указатели на действительные и мнимые части данных, хранивших в исходном многомерном массиве. Пример, findnz.c
, берет N-мерный массив, удваивает и возвращает индексы для ненулевых элементов в массиве.
Создайте пример.
mex 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 0
findnz
определяет положение всех ненулевых элементов в матрице.
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 4