MATLAB Coder кажется изящным и может значительно ускорить код MATLAB, преобразовав код в C / C ++ или MEX. Но, похоже, он не поддерживает разреженную матрицу или функцию matlab sparse
что важно для моего кода. У кого-нибудь есть идеи о том, как преодолеть эту проблему? Большое спасибо!
собственная библиотека может использоваться для обработки функции Matlab разреженной, и это на языке c.
Как сказал «libill», вы также можете просто сгенерировать MEX-код для частей вашего кода MATLAB, который не использует разреженный для ускорения этих частей.
А для разреженности используйте вышеупомянутую библиотеку.
Мое понимание кодировщика Matlab может быть неправильным, но я думаю, что это инструмент, который конвертирует ваши коды Matlab в коды C / C ++. Я не уверен, что оптимизация производительности является целью кодировщика Matlab.
Посмотрите на suitesparse. Это библиотека C, которая обрабатывает много редких операций. Оператор Matlab «\» в случае разреженной матрицы фактически использует suitesparse. Поэтому я думаю, что вам будет проще изменить сгенерированные Matlab C-коды.
НТН