3 yer ve 4 kişi arasındaki mesafelerin bir D matrisi D var (D) (2,3) = 10 kişi 3'ün 10 birimden 2'sinden çok uzakta olduğu anlamına gelir.Bir matriste satırların elemanlarını başka bir matrisle sırala
D=[23 54 67 32
32 5 10 2
3 11 13 5]
satır sayısına eşit sayıda (3 yerler) ve A (i :) ile bir matris bir yer 1 yer i
örnek aldı kişilere tekabül kişi 1 ve 3 aldı Bu herhangi bir yerden 2 ve kişileri 2 aldı ve 4. yer aldı 3 A = [1 3 0 2 4 0] I yakın olan kişiler tarafından A'nın her satır düzenlemek istediğiniz
temsil ettiği yere. Bu örnekte, yer 1 için, kişi 1, D'ye göre kişi 3'ten daha yakındır, dolayısıyla yapılacak hiçbir şey yoktur. hiçbir yere 2 yapmak için ve kişinin 4 3 D (3,2)> D yerleştirmek için 2'den daha yakın olduğu yerde 3 için bir değişiklik vardır (3,4)
sonucu olmalıdır
A (yer) içindeTemelde, D satır göre bir, her satırda elemanları (düzenlemek istediğiniz (aldı kişi), 0 ya da olmayan pek çok sıfır elemanları olabilir
A=[1 3
0 0
4 2 ]
her satır konumun en yakınına ilk gelir), bunun gibi bir şey ama burada A ve D aynı boyutta değil (sütun sayısı).
[SortedD,Ind] = sort(D,2)
for r = 1:size(A,1)
A(r,:) = A(r,Ind(r,:));
end
bu ne dili böyle:, böyle bir şey yapabilirsiniz
Daha spesifik olmak gerekirse? Matlab mı? Dili bir etiket olarak eklemelisiniz. –