<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Noktaların Ağırlık Merkezi
Bu örnekte bir grup kütlenin iki boyutlu uzayda ağırlık merkezini bulacağız. Önce hızlıca bir hatırlatma. Diyelim ki elimizde üç nesne var. Bu nesnelerin kütleleri ve koordinatları şu şekilde verilmiş olsun
Step1:  İlk işimiz nesnelerin ağırlıklarını ve koordinatlarını rassal olarak üretmek olsun.
Step2:  Her noktanın koordinatlarını rassal olarak ürettik. Şimdi ağırlık merkezini bulabiliriz.
Step3:  Grafiği çizmeye hazırız.
Step4:  Ayrıca her nesneyi ağırlığına bağlı olarak farklı boyutlarda çizebiliriz. Tek yapmamız gereken ağırlıklarını en yüksek ağırlığa (ust_ag) göre oranlamak. Yani yarıçaplarını belirlemek.
<ASSISTANT_TASK:>
Python Code:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
Explanation: Noktaların Ağırlık Merkezi
Bu örnekte bir grup kütlenin iki boyutlu uzayda ağırlık merkezini bulacağız. Önce hızlıca bir hatırlatma. Diyelim ki elimizde üç nesne var. Bu nesnelerin kütleleri ve koordinatları şu şekilde verilmiş olsun:
* Nesne 1: 20 kg., (2.0, 3.0)
* Nesne 2: 10 kg., (-1.0, 2.2)
* Nesne 3: 35 kg., (4.2, -1.8)
Bu üç nesnenin ağırlık merkezinin koordinatları, $(x, y)$ şu şekilde hesaplanabilir:
$$
x = \frac{(20)(2.0) + (10)(-1.0) + (35)(4.2)}{20 + 10 + 35} = \
y = \frac{(20)(3.0) + (10)(2.2) + (35)(-1.28)}{20 + 10 + 35} = 
$$
Yani kısaca söylemek gerekirse noktaların koordinatları kütleleri ile ağırlıklandırılarak merkez koordinatları elde ediliyor. Bu hesaba göre daha ağırlık merkezi, daha ağır olan noktalara daha yakın oluyor.
Gelelim bizim yapmak istediklerimize:
1. Her nesneyi ve ağırlık merkezini iki boyutlu uzayda göstermek.
2. Nesnelerin boyutlarını ağırlıkları ile doğru orantılı belirlemek. Yani daha ağır kütlelerin büyüklükleri daha fazla olacak.
Grafik ve nümerik işlemler yapacağımız için gerekli paketleri en baştan tanımlayalım.
End of explanation
n = 5 # Toplam nesne sayısı
ust_ag = 30 # Olabilecek en yüksek ağırlık
x_degerleri = np.random.rand(n)
y_degerleri = np.random.rand(n)
agirliklar = ust_ag*np.random.rand(n) #
print x_degerleri
print y_degerleri
print agirliklar
Explanation: İlk işimiz nesnelerin ağırlıklarını ve koordinatlarını rassal olarak üretmek olsun.
End of explanation
x = 0
y = 0
toplam_agirlik = sum(agirliklar)
for i in range(0, n):
    x += (agirliklar[i]*x_degerleri[i])/toplam_agirlik
    y += (agirliklar[i]*y_degerleri[i])/toplam_agirlik
print x, y
Explanation: Her noktanın koordinatlarını rassal olarak ürettik. Şimdi ağırlık merkezini bulabiliriz.
End of explanation
plt.plot(x_degerleri, y_degerleri, 'ro') # Nesneler kırmızı yuvarlaklar
plt.plot(x, y, 'b*', ms=15.0) # Ağırlık merkezi büyük mavi bir yıldız
plt.xticks(np.arange(0, 1.1, 0.1))
plt.yticks(np.arange(0, 1.1, 0.1))
plt.xlabel('$x$')
plt.ylabel('$y$')
plt.grid(True)
Explanation: Grafiği çizmeye hazırız.
End of explanation
for i in range(0, n):
    oran = agirliklar[i] / ust_ag
    plt.plot(x_degerleri[i], y_degerleri[i], 'ro', ms=50*oran) 
plt.plot(x, y, 'b*', ms=15.0)
plt.xticks(np.arange(0, 1.1, 0.1))
plt.yticks(np.arange(0, 1.1, 0.1))
plt.xlabel('$x$')
plt.ylabel('$y$')
plt.grid(True)
Explanation: Ayrıca her nesneyi ağırlığına bağlı olarak farklı boyutlarda çizebiliriz. Tek yapmamız gereken ağırlıklarını en yüksek ağırlığa (ust_ag) göre oranlamak. Yani yarıçaplarını belirlemek.
End of explanation
<END_TASK>