Выражение MATLAB 'Mf' не имеет правильной разреженности

Здравствуйте, я пытаюсь преобразовать функцию в функцию .mex с помощью команды «кодер». Одним из моих входных данных является разреженная двойная матрица. когда кодировщик просит определить тип переменной 'Mf', я устанавливаю ее как двойную (:inf x :inf). он строит его, и когда дело доходит до запуска функции, он останавливается со следующим сообщением: «Выражение MATLAB« Mf »не имеет правильной разреженности»

Буду признателен за любые предложения и решения. Благодарю вас!


person Christoforos Rekatsinas    schedule 28.10.2014    source источник


Ответы (1)


В настоящее время MATLAB Coder не поддерживает разреженные матрицы.

В зависимости от размера данных вы можете подумать о преобразовании входных данных в полные матрицы перед вызовом вашей MEX-функции.

Если целью создания MEX-функции является ускорение частей вашего кода, вы можете подумать о создании MEX-функций для функций в вашем коде, которые не требуют разреженности, и вызывать их из другого кода MATLAB. Таким образом, вы можете ускорить части кода и по-прежнему использовать sparse там, где это необходимо.

person Ryan Livingston    schedule 28.10.2014