📄 getuniquevals.m
字号:
function [out_uniVals, out_uniCount] = getUniqueVals(in_values)
% 函数功能: 对输入的多维数组,按照某几列的值,取出不重复元素
% 注意:
% 只针对 Pareto 最优解集,即一旦某一列上有相同取值,其他列肯定也是相同取值
% 输入的数组,一行的所有元素都参与比较!!
% 输入:
% in_values: 需得到不重复元素的多维数组,维数不限,整行的元素作为一个元素取值
% 输出:
% out_uniVals: 不重复元素的第一个出现值,列数与输入相同,行数 <= 输入函数
% out_uniCount:不重复元素的个数
valsCount = size(in_values, 1);
[stFit, idx] = sort(in_values(:, 1)); % 按 第一列 这一列升序排序
f_stValues = in_values(idx, :); % 用 第一列 的游标顺序重排列 in_values
out_uniVals = [];
out_uniCount = 0;
inInd = 1;
curOPFun = f_stValues(inInd, :);
while (inInd <= valsCount)
comInd = inInd + 1;
goNext = 0;
while ( (comInd <= valsCount) && (goNext == 0))
if (f_stValues(comInd,: ) == f_stValues(inInd, : ))
comInd = comInd + 1;
else
goNext = 1;
end
end
% if (goNext == 1)
out_uniVals = [out_uniVals; f_stValues(inInd, : )];
out_uniCount = out_uniCount + 1;
inInd = comInd ;
% end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -