Создание структуры из объекта шины в Matlab
У меня есть busobject, который имеет элементы, а затем каждый элемент имеет тип данных примитив (uint8 single, uint16) или имеет тип данных, который является другим объектом шины. я хотел разобрать это, но я получаю сообщение об ошибке "Функция не может быть проиндексирована с помощью {} или.indexing", когда я использую вложенную функцию, так как мне нужно использовать объекты bsu из рабочей области. это мой код:
function s_func_parse(component_name,counter)
length_bus=length(component_name.Elements);
for i=1:length_bus
primitive_component{1,counter}=strcat(component_name.Elements(i).Datatype,'.');
if(strcmp(component_name.Elements(i).Datatype,'uint8')~=1 || strcmp(component_name.Elements(i).Datatype,'single')~=1 || strcmp(component_name.Elements(i).Datatype,'uint16')~=1 || strcmp(component_name.Elements(i).Datatype,'uint32')~=1)
new_component=char(busobject.Elements(i).Datatype);
s_func_parse(new_component,counter);
else
primitive_component{1,counter}=strcat(primitive_component,busobject.Element(i));
end;
end;
assignin('base', 'primitive_component', primitive_component);
end
где component_name - это основной объект шины, а counter определяет общее количество имеющихся у меня примитивов, и это значение я уже знаю.
Пока я не могу решить эту проблему, поэтому я подумал о преобразовании объекта шины в структуру, в которой есть все данные. Является ли это возможным?
1 ответ
Также возможно создать структуру из шины, используя встроенную функцию Matlab
structFromBus = Simulink.Bus.createMATLABStruct(busSource)