Simulink - использовать .Mat в качестве внешней входной переменной для функции c с автоматическим кодированием - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть модель Simulink, которую я смог автоматически кодировать.Я установил некоторые из входов (vx, vy, vz, x, y, z), которые мне нужно было изменить как extern, и до сих пор это работает нормально.Теперь мне нужен доступ к файлу данных .Mat (думаю, данные GPS-альманаха), который будет меняться в зависимости от тестовой недели.Вместо повторного автоматического кодирования с новым .Mat в моем рабочем пространстве было бы замечательно, если бы я мог установить его как extern и передать ему данные из моей оболочки .cpp, как и остальные переменные.Любые советы будут великолепны!

Simulink Модель: Simulink

MATLAB Код функционального блока: MATLAB Function

Просмотр данных: data

the matlab code gets more complicated. It utilizes every column/variable, and uses them in  a loop. I can edit the init function, but there's an init function:
alm_data = coder.load('alm_data.mat');
%init vector sizes
ps=zeros(3,length(alm_data.alm_data); %more of this
end
then used in loop:
for i =1:length(alm_data.alm_data)
vs=alm_pos_vel(alm_data.alm_data(i));
%more of this
end

1 Ответ

0 голосов
/ 05 февраля 2019

Дополнительный вход -p для цели быстрого моделирования разработан для этой цели, хотя формат файла .mat должен быть определенного типа.

Пример можно найти здесь: Использование цели RSIM для диапазона значений параметров .

Показывает создание файла mat в MATLAB, но его можно создать в C или C ++ с использованием соответствующего API-файла mat: MAT-FileБиблиотека API и включаемые файлы

...