Multiply structure by a constant
显示 更早的评论
Like to multiply a structure with fields by a constant, but it giving an error. Is there another way to do this?

回答(2 个)
s.a=1; s.b=2,
S=structfun(@(f)10*f,s,'uni',0) %multiply by 10
You have to cycle through the individual fields of the structure:
s = struct('a', [1 2 3 4], 'b', -1)
for f = fieldnames(s)'
s.(f{1}) = 4 * s.(f{1});
end
s
2 个评论
rockstar49
2023-1-12
Bora Eryilmaz
2023-1-12
Not sure what you mean by "variable names". Are you referring to the variable name of the struct or the fields of the struct?
类别
在 帮助中心 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!