Changing field value for all fields in a struct

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

 Akzeptierte Antwort

Friedrich
Friedrich am 3 Apr. 2014

3 Stimmen

Hi,
without a loop:
[s.name] = deal('unknown')

2 Kommentare

MiauMiau
MiauMiau am 3 Apr. 2014
wow thanks
deejt
deejt am 19 Jan. 2021
How would you proceed if you would only change the name 'anna' to unknown but leave 'bernd'?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 3 Apr. 2014

1 Stimme

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

Kategorien

Tags

Gefragt:

am 3 Apr. 2014

Kommentiert:

am 19 Jan. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by