Чтение Mat файла с использованием MATLAB C API
17.02.2021
Здравствуйте, пытаюсь прочитать mat файл, хранящий информацию о шинах, и создать структуру отражающую все шины в этом файле. Пытаюсь сделать это через функицю mxGetDimensions, но при разименовании полученной ссылки получаем ноль, хотя mxGetNumberOfDimensions говорит, что их минимум два. Прикладываю мат файл и используемый код во вложенные файлы
Ответы
Добрый день.
Я бы советовал посмотреть на то, что возвращает mxGetDimensions. А возвращает он mwSize (подробнее - https://www.mathworks.com/help/releases/R2020b/matlab/apiref/mwsize.html).
Сделайте отдельную переменную типа mwSize и посмотрите ее содержимое.
К слову, я совсем не уверен, что вы сможете таким образом получить информацию о шинах. Если вам в проекте надо использовать структуры, которые соответствуют шинам, то надо идти от Си к Simulink. Посмотрите на Simulink.importExternalCTypes
Здраствуйте, благодарю за ответ, проблема в том, что я смотрю значение mwSize, и мне выдаёт, ответ = 0, однако я точно знаю, что имя Dimensions не равно нулю. А по второй части ответа, мне требуется получать эти значения не для работы с симулинком. Моя задача для себя выделить эти объекты, для автоматизации обработки результатов в своей программме вне матлаба
Я бы на вашем месте сейчас бы значительно упростил код:
Давайте сначала результат mxGetDimensions(pa) складывать в отдельную переменную сначала и будем смотреть, что говорит нам отладчик. Как только мы увидим, что нам возвращает mxGetDimensions, мы увидим что не так.