Как вы можете видеть на скриншоте, емкость new_mean
равна 0, хотя я создал его с начальной емкостью 2, поэтому я получаю исключение индекса за пределы.Почему размер моего вектора 0?
Кто-нибудь знает, что я делаю неправильно?
Обновление: Вот код
private static Vector<Double> get_new_mean(
Tuple<Set<Vector<Double>>, Vector<Double>> cluster,
Vector<Double> v, boolean is_being_added) {
Vector<Double> previous_mean = cluster.y;
int n = previous_mean.size(), set_size = cluster.x.size();
Vector<Double> new_mean = new Vector<Double>(n);
if (is_being_added) {
for (int i = 0; i < n; ++i) {
double temp = set_size * previous_mean.get(i);
double updated_mean = (temp + v.get(i))/(set_size + 1);
new_mean.set(i, updated_mean);
}
} else {
if (set_size > 1) {
for (int i = 0; i < n; ++i) {
double temp = set_size * previous_mean.get(i);
double updated_mean = (temp - v.get(i))/(set_size - 1);
new_mean.set(i, updated_mean);
}
} else {
new_mean = null;
}
}
return new_mean;
}
Пожалуйста, разместите связанный код, а не только его изображение. – Christian
Две минуты, пожалуйста, давайте возьмем наши очки, чтобы увидеть эту микроскопическую картину. Пожалуйста, разместите свой код здесь как текст. –
Текст на изображении слишком мал, чтобы читать. Почтовый код – Naveed