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

 Respuesta aceptada

Friedrich
Friedrich el 3 de Abr. de 2014
Hi,
without a loop:
[s.name] = deal('unknown')

2 comentarios

MiauMiau
MiauMiau el 3 de Abr. de 2014
wow thanks
deejt
deejt el 19 de En. de 2021
How would you proceed if you would only change the name 'anna' to unknown but leave 'bernd'?

Iniciar sesión para comentar.

Más respuestas (1)

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

Categorías

Etiquetas

Preguntada:

el 3 de Abr. de 2014

Comentada:

el 19 de En. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by