detect consecutive duplicates in a structure
1 次查看(过去 30 天)
显示 更早的评论
Hi all
I am trying to detect consecutive duplicates in a structure like this
A(1).a=1
A(2).a=1
A(3).a=3
A(1).b=true
A(2).b=true
A(3).b=false
A has many .a .b ...
I did a for loop with this test :
ttest=A(ii)==A(ii-1)
But I get the error
Undefined function 'eq' for input arguments of type 'struct'.
So I described every .a .b ... individually
all([A(ii).a == A(ii-1).a,A(ii).b == A(ii-1).b,...])
which is a pain and lakes evolutivity
How would you do that ?
Regards
Julien
0 个评论
回答(2 个)
George Papazafeiropoulos
2014-5-27
A(1).a=1
A(2).a=1
A(3).a=3
A(1).b=true
A(2).b=true
A(3).b=false
for ii=2:3
ttest(ii-1)=A(ii).a==A(ii-1).a
end
for ii=2:3
ttest(ii-1)=A(ii).b==A(ii-1).b
end
0 个评论
Andrei Bobrov
2014-5-27
H = squeeze(struct2cell(A));
[~,~,c] = unique(reshape([H{:}],size(H)));
ttest = histc(c,unique(c));
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!