2013-07-31 2 views
0

Существует функция Matlab (h5write), которая позволяет пользователю записывать выходные файлы в формате hdf5. Кажется, это хорошо работает при использовании среды Matlab и файлов Matlab. Однако, когда я пытаюсь создать код C++ из файлов Matlab, возникает ошибка преобразования. Похоже, что генератор кода (Matlab Coder) не может преобразовать операцию h5write в код C++.Создание кода Matlab для C++ (формат hdf5)

Есть ли способ обойти эту проблему? Эффективность также важна здесь, так как массивы данных, которые должны храниться сгенерированным исполняемым C++, достаточно велики. Если бы кто-нибудь мог помочь мне здесь, это сделало бы мой день! :-)

ответ

3

В настоящее время MATLAB предоставляет интерфейс для преобразования кода для h5write в код C++. При этом вы можете использовать компилятор MATLAB для создания исполняемого файла или dll. Вы можете использовать это в своем коде на C++, но вам всегда понадобится MCR. Если пространство не является ограничением, вы можете это сделать.

В противном случае вы можете использовать API HDF5 (http://www.hdfgroup.org/HDF5/doc/cpplus_RM/) и написать код для записи в формате HDF5, а затем использовать MATLAB Coder для связи и компиляции.

+0

Большое спасибо за ваш ответ! Но какой интерфейс это? И знаете ли вы, почему я получаю ошибку преобразования при операции h5write, когда я пытаюсь создать код на C++ с помощью Matlab Coder? – user1186155

+0

Сначала отвечу на вторую часть. MATLAB Coder не активировал генерацию кода для этой функции с момента. Только это небольшое подмножество включено [ссылка] (http://www.mathworks.com/help/simulink/ug/functions-supported-for-code-generation--alphabetical-list.html). Однако, если вы хотите получить поддержку, обратитесь в службу технической поддержки [link] (http://www.mathworks.com/support/contact_us/index.html), который отправит запрос разработчикам. Чтобы ответить на первый вопрос, попробуйте использовать один из своих примеров [link] (http://www.hdfgroup.org/HDF5/doc/cpplus_RM/writedata_8cpp-example.html). –

Смежные вопросы