Assign value to array structure

9 次查看(过去 30 天)
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

更多回答(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