How to add a whole field at once (if possible)?
3 views (last 30 days)
Show older comments
Here is a shortened version of the code:
%stars in the Orion constellation
etoile(1).nom='Betelgeuse';
etoile(1).dist_al=490;
etoile(1).magnitude=0.44;
etoile(2).nom='Bellatrix';
etoile(2).dist_al=250;
etoile(2).magnitude=1.64;
etoile(3)=struct('nom','Saiph','dist_al',650,'magnitude',2.06);
%Add a field (luminosity compared to the sun)
etoile(1).luminosite_nxsoleil=120000;
etoile(2).luminosite_nxsoleil=10000;
etoile(3).luminosite_nxsoleil=50000;
Is there any way to do the last three lines (creating a new field containing 12000 10000 and 50000) in one operation?
Thanks!
0 Comments
Accepted Answer
Walter Roberson
on 29 Oct 2017
lums = [12000 10000 50000];
%I will presume that the luminosities are being read in somehow, rather than
%being hard coded.
lumsc = num2cell(lums);
[etoile.luminosite_nxsoleil] = deal(lumsc{:});
If you were hard coding then
lums = {12000 10000 50000};
[etoile.luminosite_nxsoleil] = deal(lums{:});
0 Comments
More Answers (2)
See Also
Categories
Find more on Sparse Matrices 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!