Structure Assginment

7 visualizaciones (últimos 30 días)
Umit
Umit el 8 de Mayo de 2012
I need a better approach to assign matrix to a structure. Currently I have
A = 5 by 1 struct with Loc & Err variables, A(1:5).Loc & A(1:5).Err,
I have Values matrix 5 by 6 where Loc info stored.
My code;
for i=1:5
A(i).Loc = Values(i,:)
end
Is there easy way of assignment. I have a very complex structure, this is very simplified version of it. Any ideas??
  1 comentario
Daniel Shub
Daniel Shub el 8 de Mayo de 2012
This seems pretty easy to understand for me. What do you mean by easy?

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 8 de Mayo de 2012
Try this:
vcell = mat2cell(Values, ones(1, size(Values,1)), size(Values,2));
[A.Loc] = vcell{:};
  4 comentarios
Daniel Shub
Daniel Shub el 8 de Mayo de 2012
If there are lots of fields you might want to consider cell2struct
Umit
Umit el 8 de Mayo de 2012
It works, thank you. This is what I want

Iniciar sesión para comentar.

Más respuestas (1)

Jan
Jan el 8 de Mayo de 2012
There is no easy way to assign a very complicated structure.
Using a loop is most likely the easiest and most efficient method, especially if you use implicite pre-allocation by running the loop from the end to the start.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by