Merhaba,
Koordinat düzleminde (x,y) verilerim var, bu koordinatlardan öyle bir (a,b) koordinatı bulmak istiyorum ki bu elimdeki mevcut koordinatlara olan mesafesi en kısa olsun. Basitçe;
Elimde alttaki gibi koordinatlarım olsun ben öyle bir (a,b) noktası bulayım ki , bu (a,b) nin aşağıda verilen koordinatlardaki mesafelere toplamı en küçük olmalı.
x y
1 4
1 1
2 2
3 2
3 4
Varsa statistics and machine learning toolbox içindeki kmeans fonksiyonunu da kullanabilirsiniz.
coord=[1 4; 1 1; 2 2; 3 2; 3 4]
[~,C]=kmeans(coord,1)
C =
2.0000 2.6000
Merhaba
Verilerinizi baz alarak kendimce resimde göründüğü gibi bir kod yazdım.Kesin doğru diyemem ama siz yine de bir matematikçiye danışıp arzu ettiğiniz fonksiyonu gerçekleştirebilecek algoritmayı yazabilirsiniz.
NOT:12. satırdan itibaren yazılan kodlar optimum noktayı (6. nokta) görüp daha iyi analiz edebilmek için eklenmiştir.
Merhaba,
Öncelikle desteğiniz için teşekkürler. Ancak cevap kısmında herhangi bir kod göremiyorum sadece cevap metininiz var.
x=[1;1;2;3;3];
y=[4;1;2;2;4];
a=(max(x)+min(x))/2;
b=(max(y)+min(y))/2;
x=[x;a];
y=[y;b];
scatter(x,y);
grid on;
hold on;
axis([min(x)-1, max(x)+1, min(y)-1, max(y)+1])
for k=1:length(x)
text(x(k)+0.1,y(k)+0.1,num2str(k))
end