Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Кластеризация точек на диаграмме Excel
 
Андрей VG, ого!!! Спасибо огромное!
Цитата
Андрей VG написал:
Либо преподаватель не всё уточнил в предлагаемом алгоритме, либо он приведён здесь кривовато.
у меня задание такое - не совсем метод К-средних. Изначально, количество кластеров = количеству точек. Но мне все варианты пригодятся, чтобы разобраться.  
Кластеризация точек на диаграмме Excel
 
Андрей VG, спасибо огромное! Я буду разбираться. Теперь есть с чем))) ОГРОМНОЕ СПАСИБО 100000000 РАЗ!
Кластеризация точек на диаграмме Excel
 
Максим Зеленский, да это метод к-средних. Но я в инете не нашла ничего полезного для себя. Мне надо код адаптировать под VBA. Я почитала про этот язык. Там столько всего... и массивы динамические, и опять же заполнять изначально массив координат нет нужды,  так ка это значения из таблицы Excel.  
Кластеризация точек на диаграмме Excel
 
Андрей VG,
Код
for J=1 to NK do
if M(J)>1 then CONTINUE;
IMIN = 100;
RMIN =1000;
for I=1 to N do
If I=J then Continue
RT=sqrt((XX(J)-XX(I))*(XX(J)-XX(I))+(YY(J)-YY(I))*(YY(J)-YY(I)));
if RT>RMIN then CONTINUE;
RMIN=RT;
IMIN=I;
Next;
NKL(I)=NKL(IMIN);
next

это избавление от изолированных точек
Кластеризация точек на диаграмме Excel
 
Цитата
Андрей VG написал: Вот и сделайте на код на Pascal - на VBA переведём.
Скрытый текст

Андрей VG, Пока только с условием, что NК> или =7, но там я додумаю. Получилось что-то между паскалем и VBA. :oops:
Кластеризация точек на диаграмме Excel
 
Подскажите пожалуйста, хоть с чего начать, хоть последовательность действий, хоть что-нибудь, кто что знает. Любая информация.
Кластеризация точек на диаграмме Excel
 
Способ генерации определен преподом. Критерий кластеризации (если можно так сказать) - расстояние между точками на диаграмме. Алгоритм у меня уже есть, я написала его в теме весь. Нужен код для макроса. А я даже не умею массивы в VBA объявлять, да и не вполне понимаю какие и сколько в данном случае мне нужны.
Кластеризация точек на диаграмме Excel
 
Доброго времени суток, умным людям!
Дано:
А(нижний предел) = 0; В(верхний предел) = 200; N(количество точек) = 100. Генерируем Х и У функцией СЛУЧМЕЖДУ(А;В) протягиваем формулу, пока ни получится N точек, то бишь 100. Копируем только значения, получаем набор случайных пар (Х;У)
Задача:
С помощью VBA произвести кластеризацию объектов(точек с координатами(Х;У)). Правила останова: 1) 7 или менее кластеров; 2) более одного объекта в каждом кластере.
Решение:
Изначально количество кластеров = количеству точек, то есть каждая точка в своем кластере. Находим "центры масс" кластеров (Mi=((сумма Хi )/Nx; (сумма Уi)/Ny) на данном этапе это - координаты точек, для каждого кластера. Теперь нужно найти расстояния между всеми центрами масс, то есть от каждой точки до всех остальных.R=(Xi-X(i+1))^2+(Yi-Y(i+1))^2.  Выбрать среди них наименьшее и соединить эти два кластера в один. Опять найти центры масс для каждого кластера, опять найти все расстояния между центрами масс, определить наименьшее, объединить два соответствующих кластера в один. И так до тех пор пока количество кластеров не буден меньше либо равно семи, и при этом в каждом кластере будет более одного объекта. В итоге должна получиться точечная диаграмма на которой точки принадлежащие к одному кластеру окрашены в какой-нибудь свой цвет. В добавок ко всему, весь процесс должен быть каким то образом заметен, но это пока не так важно. Мне б для начала с самой задачей разобраться. Я вообще не очень то с VBA знакома, но в паскале программки писать приходилось, и даже немного получалось. Языки, как я поняла, родные. Но я даже не знаю с чего начать.  Помогите, кто чем может. :oops: Важен любой совет. Посмотрите код мой в сообщениях ниже, может что и присоветуете)))
Изменено: staylecolor - 19.10.2015 19:30:44
Автозаполнение на конкретное число ячеек
 
Цитата
yoozhik написал:
вариант
Вам тоже огромное спасибо. Этот способ так же пригодился)  
Автозаполнение на конкретное число ячеек
 
Цитата
Sanja написал:
макрос и процедура это одно и то-же. Конкретно эта срабатывает при изменении в желтых ячейках. Это называется обработка события.
Спасибо преогромное, разобралась уже) что бы делала, если б не Вы, даже не знаю) :D
Автозаполнение на конкретное число ячеек
 
Если я правильно понимаю, это не макрос, а какая-то процедура. как ее написать, и в Вашем коде что к чему, я догнала, а как делать вызов то?  
Автозаполнение на конкретное число ячеек
 
Честно говоря, я не понимаю как процедуру в ексцеле вызвать. написала я ее, допустим, а дальше что. Во всех знакомых компиляторах нажал "ран" и готово, а тут...тупик))))
Автозаполнение на конкретное число ячеек
 
Спасибо) Почти разобралась.  
Автозаполнение на конкретное число ячеек
 
Цитата
Sanja написал:
Покажите что на каких листах располагается - подправлю
там икс по сетке. а параметры на первом
Автозаполнение на конкретное число ячеек
 
Цитата
Sanja написал:
Покажите что на каких листах располагается - подправлю
Я скинула всю работу. Ну половину почти, вся она не влазила. Очень мне интересно, как сделать это в бэйсике, потому как мне придется остаток семестра с ним работать, а я вообще в нем ни бельмеса)))
Автозаполнение на конкретное число ячеек
 
Спасибо огромное, очень помогли. Сказать по правде, с бэйсиком не прокатит, к великому сожалению моему, т.к. параметры и выходные значения должны располагаться на разных листах. Вот собственно сама работа. Доп. заданием было найти способ генерации иксов в зависимости от заданного количества точек)))) Еще раз, большое спасибо за помощь.
Автозаполнение на конкретное число ячеек
 
Не знаю важно ли Е=N/200 так что, когда изменяется N, шаг (Е) изменяется, но так как формула тупо протянута в ручную до сотой ячейки, ексель по прежнему считает 100 иксов. надо чтобы он понимал, что мне их нужно N.
Автозаполнение на конкретное число ячеек
 
А=30
В=50
Е=0.5
N=100
Задача: создать N количество иксов, по правилу Х1=А*В; все последующие иксы рассчитываются по формуле - предыдущий икс + Е. Всего должно получиться N иксов. Просто протянуть формулу - не вариант, так как при изменении этого самого N, должно изменяться и количество посчитанных иксов.
Помогите пожалуйста, весь инет уже перерыла. :(
Изменено: staylecolor - 15.10.2015 16:36:29
Страницы: 1
Наверх