call out matlab structure using for loop
3 次查看(过去 30 天)
显示 更早的评论
I have j structures Ts(j) . And the elements inside the structure are just like T(3) below
can I call out e1 e2 e3 by using for loop?
or I can only call they by using Ts(i).e1 Ts(i).e2 Ts(i).e3.
Because I need to check whether e1||e2||e3 third element is 1 or 2 , and now I have j structures.
If I can't use for loop ↓ ,then I ill have three " if "
for j=1:num_of_Ts
if Ts(j).e1(:,3)==1
do...
end
if Ts(j).e2(:,3)==1
do...
end
if Ts(j).e3(:,3)==1
do...
end
end
采纳的回答
Max Alger-Meyer
2022-3-9
You can absolutely use a loop! The trick is to use the 'fieldnames' function as shown below.
SampleStruct.e1 = [129 152 1];
SampleStruct.e2 = [129 164 2];
SampleStruct.e3 = [152 164 1];
names = fieldnames(SampleStruct);
for i = 1:numel(names)
disp(SampleStruct.(names{i}))
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!