creating a structure from a bus object in matlab

I have a busobject which has elements and then each element either has a datatype of primitive (uint8 single, uint16) or has a datatype which is another bus object. i wanted to parse this but i get the error 'Function cannot be indexed using {} or .indexing' when i use a nested function since i need to use the bsu objects from the workspace. this is my code:
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
where component_name is the main bus object and counter determines the total number of primitives i am having and this value i already know.
for now am not able to solve this problem so I thought of converting the bus object to a structure which has all the data inside it. Is it possible?

1 comentario

Jan
Jan el 20 de Mzo. de 2015
Please post the complete error message. Most of all the line, which causes the error cannot be guessed by the readers.

Iniciar sesión para comentar.

 Respuesta aceptada

Sebastian Castro
Sebastian Castro el 20 de Mzo. de 2015

0 votos

You can convert buses to structures using this function:
- Sebastian

1 comentario

arun kumar
arun kumar el 23 de Mzo. de 2015
I solved the problem by creating a custom struct with data i needed but i think your solution will work as well. have not yet tried it but saw the example and looks like it works so i will accept it for now.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 20 de Mzo. de 2015

Comentada:

el 23 de Mzo. de 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by