Häufung finden von zwei Parameter

FJK

Erfahrenes Mitglied
Hallo,

gibt es eine Möglichkeit eine Häufung in einer nahezu zufälligen Anordnung von zwei Parametern zu finden, ohne Klassen zu verwenden?

Ich hatte schon etwas über Entfernungen und dessen Kehrwert versucht, leider ohne Erfolg.
Wenn ich mir die Daten plotte, sehe ich allerdings schwach eine Häufung...
 
Zuletzt bearbeitet:

sheel

I love Asm
Hi

mathematische Häufung von zwei Werten?
Warum denkst du, dass du dafür programmiermäßig Klassen brauchst?
 

FJK

Erfahrenes Mitglied
nicht die OOP Klassen :D
sondern Klassen mit festen Bereichen in denen man die Anazahl der Elemente zählt.
 

CookieBuster

Erfahrenes Mitglied
Ist das eine Mathematische Frage oder eine Informatische Frage?

Mathematisch sollte hier das Konvergenzkriterium von Folgen interessant sein, oder auch das der Cauchy Folgen.
 

FJK

Erfahrenes Mitglied
Grundsätzlich ist mir das erstmal egal, schlussendlich muss es aber programmiert werden und sollte daher nicht zu rechen aufwendig sein...
 

CookieBuster

Erfahrenes Mitglied
Dann solltest du einmal dein Problem tatsächlich beschreiben. Dh. genaue Angaben von allem was bekannt ist (Voraussetzungen) und was du erreichen möchtest (Behauptung) so, dass wir eine Lösung anstreben können (Beweis).
Das wäre zumindest die mathematische Herangehensweise. Ich persönlich kann mit dem, was du bisher geschrieben hast, absolut nichts anfangen.
 

FJK

Erfahrenes Mitglied
Ich habe zwei Parameter x und y. Beide sind überwiegend zufällig verteilt, jedoch gibt es eine kleine Häufung.
Das bedeutet wenn ich x und y in einem zwei dimensionalen Bild eintrage habe ich ca 30 von 900 Punkten die dichter bei einander sind als die anderen. Die Häufung also die mittleren x und y Koordinaten von den 30 Punkten suche ich.
 

sheel

I love Asm
Eine sehr einfache Lösung, auf die du vllt. selbst schon längst gekommen bist.
Mit schwermathematischen und/oder AI-Verfahren auffahren ist für eine Antwort wohl etwas überdimensioniert
(zumindest die Zeit, die ich selbst zum Lernen brauchen würde :p)

Annahme: Häufung ist ca. kreisförmig, kein "dicker Strich" der sich über das ganze Koordinatensystem zieht etc.

Benötigt: Anzahlen oder Prozentzahlen, wie viel Punkte minimal/maximal in so einer Häufung drin sind.
(ohne Beschränkung wäre jeder Punkt allein eine, und auch alle zusammen...)
Genannt min und max.

a) Zu jedem Punkt P die Entfernung zu allen anderen Punkten einzeln ausrechnen,
zusätzlich pro P die Durchschnittentfernung zu anderen Punkten.
Punkt mit der kleinsten Durchschnittentfernung ist der Mittelpunkt M

b) Für jedes anz zwischen min und max: M und die anz nähesten Punkte hernehmen
und die Koordinaten des kleinsten umschließenden Rechtecks ermitteln
(größtes/kleinstes x/y über alle betroffenen Punkte als Abgrenzung der Seiten)
Rechteck muss nicht schief im Koordinatensystem liegen etc.,
falls es dadurch kleiner werden kann. Seiten parallel zu den Achsen reicht.
Programmatisch geht da in lineares Zeit: Zuerst für min alle betroffenen Punktkoordinaten eben durchsuchen,
und dann nur nach und nach je einen Punkt dazunehmen...
Die ganzen Rechtecke müssen nicht abgespeichert werden,
nur pro Rechteck das Verhältnis InnerePunktanzahl/Fläche ermitteln.

c) Das Rechteck mit dem größten Verhältnis ist das Beste,
die Punkte drin sind die Gesuchten.
 

FJK

Erfahrenes Mitglied
magst du b bitte nochmal erklären?

also ich habe es so versucht:
Matrix mit allen Entfernungen der Punkte zueinander.
Dann ein Vektor V aufgestellt in dem ich alle Kehrwerte der Entfernungen von einen Punkt aufaddiere.
Der Eintrag von V der Minimal ist, muss ein Punkt in der Häufigkeit sein.
Die Annahme war, das die Punkte in der Häufung mehr dichte Nachbarn haben (damit ist der Kehrwert größer) als Punkte irgendwo in der Zufallsmenge. Leider ist das nicht der Fall :D
 

sheel

I love Asm
(a+b+c+d)/4 oder auch (a+b+c+d) ist nicht das Selbe wie 1/(1/a+1/b+1/c+1/d) falls du sowas vorhast :p