У вас есть несколько вариантов, в зависимости от вашей ситуации.
1) Если ваш C-код структурирован таким образом, что его можно вызывать из matlab, вы можете скомпилировать C-код как мекс-файл,Затем вы вызываете функцию C из matlab и возвращаете свой результат.Чтобы вернуть вашу структуру, вы должны создать массив matlab в вашем C-коде и скопировать в него параметры структуры.Интерфейс для этого - mxArray.Это не самый удобный процесс, но он работает хорошо.
mex файлы и mxArray: http://www.mathworks.com/help/techdoc/matlab_external/f29502.html
2) Используйте движок matlab для загрузки ваших значений в matlab без необходимости компиляцииваш код в мекс.Движок позволит вам выполнять команды matlab из вашей C-программы.Вы также можете загрузить переменные в рабочую область.Вам все равно придется создать mxArray, содержащий значения, которые вы хотите скопировать.Затем вы можете использовать функцию engPutVariable , чтобы скопировать mxArray в ваше рабочее пространство matlab.
Обратите внимание, что движок поддерживает свое собственное рабочее пространство, он не будет автоматически копировать переменную в рабочее пространство вашего текущегосессия matlab по умолчанию.Есть команды для перемещения переменных между рабочими пространствами, но я не исследовал это.Я обнаружил, что быстрее просто сохранять переменные в файле mat и загружать его в основное рабочее пространство, но это не идеально, если вам нужен автоматизированный подход.
matlab engine: http://www.mathworks.com/help/techdoc/matlab_external/f29148.html