Changing field value for all fields in a struct

21 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

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

Accedi per commentare.

Più risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 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

Categorie

Scopri di più su Structures in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by