单元数组中最常见的字符串,不考虑字母顺序

时间:2017-05-24 17:11:30

标签: matlab cell-array mode

我想在单元格数组中找到最常见的字符串,但不遵守字母顺序。 让我用一个例子来解释一下。

如果我有这个:

list = {'car', 'glasses', 'glasses', 'apple', 'apple'};

我希望答案是眼镜而不是苹果,因为眼镜位于数组中 apple 之前,即使 apple 按字母顺序小于眼镜

此方法有效但返回apple:

[unique_strings, ~, string_map] = unique(list);
mostComm = unique_strings(mode(string_map)); % -> apple

1 个答案:

答案 0 :(得分:4)

使用'stable' option with unique保留订单 -

<?php
ini_set('display_errors', 1);

$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, "http://test.payumoney.com/payment/op/getPaymentResponse?merchantKey=40747T&merchantTransactionIds=396132-58876806");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('merchantKey'=>"40747",'merchantTransactionIds'=>"396132-58876806")));
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('cache-control: no-cache',
                                            'authorization: KpNTiy57L6OFjS2D3TqPod8+6nfGmRVwVMi5t9jR4NU='));
curl_exec($ch);

来自docs:

  

[C,ia,ic] =唯一(A,setOrder)和[C,ia,ic] =   unique(A,&#39; rows&#39;,setOrder)按特定顺序返回C. setOrder可以   被排序&#39;或者&#39;稳定&#39;:

     

&#39;稳定&#39; - C与A的顺序相同。

示例运行 -

[unique_strings, ~, string_map] = unique(list,'stable');
unique_strings(mode(string_map))