I have a stuct with many fields: How can i update their values at once and not manually?
manually:
data.speed =data.speed(updated_values)
data.power=data.power(updated_values)
data.fuel=data.fuel(updated_values)
data.trim=data.trim(updated_values)
data.draft=data.draft(updated_values)
There is any way to do this automatically?

1 Comment

Does it happen to be the case that all fields are being changed the same way? If so then structfun()

Sign in to comment.

 Accepted Answer

F = fieldnames(data);
for k = 1:numel(F)
data.(F{k}) = data.(F{k})(updated_values);
end

More Answers (1)

If all of the fields are being updated
data = structfun(a(M) M(updated_values), data, 'uniform', 0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!