MATLAB Answers

How to assign a particular value to each element of a structure array for a particular field?

19 views (last 30 days)
Lets say I have a structure array (S) with n elements and with a field (f). I know I can use function "deal" to assign the same value to all elements of S.f, e.g. [S.f] = deal(zero) will assign zero to all the n elements of S.f
However, what I am looking for is to assign a particular value to each element of S.f; e.g. is there a way to assign each element of r=rand(1,n) to the corresponding element in S.f, i.e. S(i).f = r(i)?
Thanks.

Accepted Answer

Mohammad Abouali
Mohammad Abouali on 5 Apr 2015
Edited: Mohammad Abouali on 5 Apr 2015
n=3;
%initilizing some test structure
s=struct('f',cell(n,1));
% generate r vector
r=mat2cell(rand(1,n),1,ones(n,1));
% now dealing r to s.f
[s.f]=deal(r{:});

More Answers (0)

Community Treasure Hunt

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

Start Hunting!