Adding fields of two different structs together

% Example structures:
part(1) = struct('name', 'x', 'number', 1);
part(2) = struct('name', 'y', 'number', 2);
part(3) = struct('name', 'z', 'number', 3);
% Example: 1st user input should be the 'name' so "x"
% 2nd user input should be another'name' so "z"
% total_number = 1 + 3

3 个评论

part(1) = struct('name', 'x', 'number', 1)
part = struct with fields:
name: 'x' number: 1
part(2) = struct('name', 'y', 'number', 2);
part(3) = struct('name', 'z', 'number', 3);
part(1).number+part(3).number
ans = 4
Thanks for the response but is there a way to make it depend on the user's input?
For example I would like the user to input two names, say 'y' and 'z', and then come up with the sum of numbers
" is there a way to make it depend on the user's input?"
part = struct("x",1,"y",2,"z",3);
part.("x")+part.("z")
ans = 4

请先登录,再进行评论。

 采纳的回答

It would be a better to use a dictionary than a struct,
part=dictionary(["x","y","z"],1:3);
part("x")+part("z")
ans = 4

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by