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

20 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)

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!