如何找到重复的值在一个结构

23日视图(30天)
我想找到所有字段和值从一个结构重复的值。

接受的答案

MathWorks支金宝app持团队
找到以下功能,结构“s”作为输入,并给你一个重复单元阵列。请注意,下面的输出函数将一个单元阵列。如果你需要一个结构单元阵列作为输出,请将下面的“newStruct”的价值功能。
函数finalDuplicatesCellArray = selectDuplicates (s)
键=字段名(s);
值= struct2array(年代);
uniqueValues =独特(值);
valueCounts = histcounts(价值观、长度(独特的(值)));
idx = valueCounts > 1;
duplicatedValues = uniqueValues (idx);
duplicateValuesIndices = ismember(价值观、duplicatedValues“遗产”);
duplicateKeys =键(duplicateValuesIndices);
duplicateValues =值(duplicateValuesIndices);
newStruct =结构;
2 = 1:长度(duplicateKeys)
newStruct。(char (duplicateKeys (ii))) = duplicateValues (ii);
结束
% newStruct转换为单元阵列
valuesFinal = num2cell (duplicateValues ');
finalDuplicatesCellArray = [duplicateKeys, valuesFinal];
结束
输入例子:S。= 1;年代。C = 1;年代。E = 1;年代。F = 1;
输出:4×2单元阵列
“一个”[1]
“C”[1]
“E”[1]
“F”[1]

更多的答案(0)

标签

没有标签了。

下载188bet金宝搏


释放

R2015b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!