Matlab 对偶向量的匹配与消元

Matlab 对偶向量的匹配与消元,matlab,vector,Matlab,Vector,我有一个输入向量,如: [1.3, 2.2, 2.3, 4.2, 5.1, 3.2, 5.3, 3.3, 2.1, 1.1, 5.2, 3.1] 然后,我想检查x.1和x.2以及x.3和x.y是否在向量中,如果没有至少3个与x值匹配的y值,则放弃。因此,示例向量如下所示: [2.2, 2.3, 5.1, 3.2, 5.3, 3.3, 2.1, 5.2, 3.1] (1.3、1.1和4.2由于只有2和1 x值而被删除)。它必须适用于任何长度的向量。我刚开始尝试从一个指南中学习Matlab,但

我有一个输入向量,如:

[1.3, 2.2, 2.3, 4.2, 5.1, 3.2, 5.3, 3.3, 2.1, 1.1, 5.2, 3.1]
然后,我想检查x.1和x.2以及x.3和x.y是否在向量中,如果没有至少3个与x值匹配的y值,则放弃。因此,示例向量如下所示:

[2.2, 2.3, 5.1, 3.2, 5.3, 3.3, 2.1, 5.2, 3.1] 
1.3
1.1
4.2
由于只有2和1 x值而被删除)。它必须适用于任何长度的向量。我刚开始尝试从一个指南中学习Matlab,但我无法完成这个问题:(

你可以

  • 计算
    x
    的整数部分
  • 计算每个获得的整数部分出现的次数,并与
    x
    的每个值关联其相应的次数
  • 仅保留整数部分至少出现3次的
    x
  • 代码:


    发布你到目前为止尝试过的代码…是否有其他分数部分的值,例如
    1.4
    ?那么标准是什么?@Luis Mendo是的,如果有超过3个y值,那么这些值应该在新的向量中。Dan我有点从头开始不知道怎么做
    x = [1.3 2.2 2.3 4.2 5.1 3.2 5.3 3.3 2.1 1.1 5.2 3.1]; %// data
    n = 3;                                                 %// min required number
    xf = floor(x);                                         %// step 1
    [ii, jj] = histc(xf, unique(xf));                      %// step 2
    result = x(ismember(jj, find(ii>=n)));                 %// step 3