Ordering vectors of numbers of type double and strings according to another vector
조회 수: 3 (최근 30일)
표시 이전 댓글
How do I order the following arrays?
vector_1 = [1 3 7 8 9 10];
string_1 = {'apples' 'pears' 'plums' 'oranges' 'peaches' 'grapes'};
Specifically, I want to re-order them according to [3 1 7 9 8 10] for vector_1.
댓글 수: 0
채택된 답변
Voss
2022년 12월 7일
vector_1 = [1 3 7 8 9 10];
string_1 = {'apples' 'pears' 'plums' 'oranges' 'peaches' 'grapes'};
vector_1_reordered = [3 1 7 9 8 10];
[~,idx] = ismember(vector_1_reordered,vector_1);
string_1_reordered = string_1(idx)
댓글 수: 0
추가 답변 (1개)
Eric Delgado
2022년 12월 7일
You could write a simple loop...
string_1 = {'apples' 'pears' 'plums' 'oranges' 'peaches' 'grapes'};
vector_1 = [1 3 7 8 9 10];
vector_2 = [3 1 7 9 8 10];
idx = [];
for ii = 1:numel(vector_1)
idx(ii) = find(vector_1 == vector_2(ii), 1);
end
string_2 = string_1(idx)
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!