Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Center of repeatative/duplicate values in Matlab

1 回表示 (過去 30 日間)
Koustubh Shirke
Koustubh Shirke 2020 年 3 月 14 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
Hi,
I have a vector lik A = [1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 ]. I want to get index of centre and its value fo this vector. How can i do that In matlab scirpt ?
The solution of above problem should be.
values = [1 2 3];
Centre_Index = [3 8 14 ];
Thanks in adavnce .

回答 (2 件)

Ameer Hamza
Ameer Hamza 2020 年 3 月 14 日
x = [1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 ];
indexes = [1 find(x(2:end) - x(1:end-1))+1 numel(x)];
indexes = floor(movmean(indexes, 2, 'Endpoints', 'discard'));

dpb
dpb 2020 年 3 月 14 日
編集済み: dpb 2020 年 3 月 14 日
val=unique(A);
iC=arrayfun(@(x) median(find(A==x)),val);
for your A above
>> val=unique(A);
>> iC=arrayfun(@(x) median(find(A==x)),val)
iC =
3 8 14
>>

この質問は閉じられています。

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by