Как скопировать данные из Simulink Powergui Load Flow Tool в массив в Matlab?
Я разработал процесс полуавтоматизации Simulink Load Flow Tool, чтобы позволить непрерывно вычислять поток нагрузки для различных значений нагрузки. Каждый раз, когда вычисляется поток нагрузки, я требую, чтобы данные копировались из инструмента потока нагрузки Powergui (буфер обмена) в массив, в настоящее время я делаю это вручную и не могу найти способ автоматизации. Чтобы дать ссылку на данные, которые мне нужно скопировать из буфера обмена, я приложил следующее изображение: Powergui Load Flow Tool, на данном этапе мне нужно только скопировать данные из 2-го столбца.
Возможно, более общий вопрос - как скопировать данные из Simulink Simulation GUI в массив в Matlab?
Любая помощь будет принята с благодарностью! Спасибо
1 ответ
Вы можете использовать команду power_loadflow для выполнения потока загрузки и сохранения результатов.
Например, если вы запустите симуляцию встроенной 5-шинной системы Matlab,
LF = power_loadflow('-v2','power_LFnetwork_5bus','solve')
LF - это структура, в которой хранятся все результаты, поэтому вы можете сохранить эту переменную в рабочем пространстве Matlab. Вы также можете сохранить результаты в файле Excel следующим образом:
LF = power_loadflow('-v2','power_LFnetwork_5bus','solve','ExcelReport',fname)
редактировать
Чтобы экспортировать в Excel: данные потока загрузки в любом случае сохраняются в переменной LF
, Вы можете поместить следующую команду в свой цикл, чтобы скопировать результаты в ваш файл Excel.
xlswrite('results_bus',cellstr(num2str([LF.bus.Vbus]')))
я использовал cellstr
а также num2str
чтобы сохранить сложные результаты, чтобы преуспеть. LF.bus.Vbus
вектор, в котором хранится результат напряжения шины.