Changing field value for all fields in a struct

42 views (last 30 days)
Hi
Given for instance I have a struct as follows:
s(2) = struct('name','anna','age',18)
s(1) = struct('name','bernd','age',22)
Now I want to change all the names to 'unknown', i.e. as well for s(1) as for s(2). How can I do it (this is just a toy example, I do have a 123 dimensional struct where I do not want to do it one by one). Thanks

Accepted Answer

Friedrich
Friedrich on 3 Apr 2014
Hi,
without a loop:
[s.name] = deal('unknown')
  2 Comments
deejt
deejt on 19 Jan 2021
How would you proceed if you would only change the name 'anna' to unknown but leave 'bernd'?

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 3 Apr 2014
s(2) = struct('name','anna','age',18)
s(1) = struct('name','bernd','age',22)
n=numel(s)
for k=1:n
s(k).name='unknown'
end

Categories

Find more on Structures in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!