2015-02-24 2 views
0

Эй, так что я так получил вектор двойников таких, какСортировка вектор с изменениями также внесенных в другой вектор

A = 

0.801803535307197 0.737925186997728 0.623273483797294 0.722046963741684 0.542990601252408 0.427383289758162 0.683274297039423 0.487075921796818 0.724212337440899 0.471205842265225 0.705330994860834 0.489516811267092 0.598658541230977 0.759194544103108 

Я также получил соответствующий вектор список данных символьного типа, такой как

B = 

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet consectetur adipisci velit 

(Каждый двойной имеет слово)

Я хочу заказать двойники численно с помощью функции сортировки (сортировка (а)), но я также хочу, чтобы сортировать будет осуществляться по списку полукокса (в то же самое) - Как я могу сделать это?

Многие признательность и благодарность вам и вашим семьям

+0

Вы смотрели на [документы] (http://www.mathworks.com/help /matlab/ref/sort.html) для функции 'sort'? Вы можете использовать выходной аргумент для индексации во второй вектор. –

ответ

0

Некоторые примеры, чтобы вы: запущен при

B = 'Neque porro quisquam est qui dolorem ipsum quia dolor sit amet consectetur adipisci velit'; 
B_list=strsplit(B,' ') 
A = rand(size(B_list)) 
[a_sort, ix] = sort(A) 

b_sort = [B_list(ix); repmat({' '},1,numel(ix))] 
b_sort = [b_sort{1:end-1}] 

B_list = 'Neque' 'porro' 'quisquam' 'est' 'qui' 'dolorem' 'ipsum' 'quia'  'dolor' 'sit' 'amet' 'consectetur' 'adipisci' 'velit' 
A = 0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 0.9575 0.9649 0.1576 0.9706 0.9572 0.4854 
a_sort = 0.0975 0.1270 0.1576 0.2785 0.4854 0.5469 0.6324 0.8147  0.9058 0.9134 0.9572 0.9575 0.9649 0.9706 
ix = 6  3 11  7 14  8  5  1  2  4 13  9 10 12 
b_sort = Neque velit quisquam ipsum dolor qui porro adipisci dolorem quia sit amet consectetur est 
+0

этот ответ действительно сильно отформатирован. И действительно, если вы удалите все пробелы во входном предложении, вы должны добавить их снова в вывод. – thewaywewalk

+0

Сделано так, как вы предлагали. – BerndGit

+1

Помимо пробелов, я добавил эту строку для вас. – thewaywewalk