Assign value to array structure

조회 수: 15 (최근 30일)
Peter Borda
Peter Borda 2015년 6월 19일
편집: Stephen23 2015년 6월 19일
Hi Everybody! I have an array of let's say 100 elements, each element is the same structure with like 10 fields. What I would like to do is to generate an array - cell or numeric - of the same length as the structure array and assign each elements to a specific field of the individual structures. Here is the solution with for loop, I'd like to make the same without looping:
BaseArray = struct('field_1',[],'field_c2',[],'field__3',[]); % struct to be used
StructArray(100) = BaseArray; % initialize
ValuesToAssign = rand(100);
for k = 1:length(StructArray)
StructArray(k).field_1 = ValuesToAssign(k);
end
Any advice?

채택된 답변

Titus Edelhofer
Titus Edelhofer 2015년 6월 19일
Hi,
this should work:
valuesCell = num2cell(ValuesToAssign);
[StructArray.field_1] = valuesCell{:};
Titus
  댓글 수: 2
Peter Borda
Peter Borda 2015년 6월 19일
Great, thanks! Drastic speed improvement as expected!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by