ich muss diese aufgabe kaufen, aber ich weiß nicht wie kann ich es machen.könnten Sie mir bitte helfen

hiam

Mitglied
Schreiben Sie ein Programm, dass erwartet k Cluster (k∈ {1,2,…, 10}) befindet. Zu jedem dieser Cluster sollen dann 100 zweidimensionale Datenpunkte auftreten werden. Dazu gehört das Programm im ersten Schritt k Richtungs ci (i = 1,2,… k) in [−100; 100] 2als Ausgangspunkte für die Clusterfolgen. Um diese Ausgangspunkte sollen dann alle 100 Datenpunkte als normalverständliche Zufallszahlen mit dem Verständnis ci und einer gewissen Standardabweichung (sigma = 1,…, 3) werden werden.
 

LimDul

Top Contributor
Die Antwort ist nein:

a) Die Aufgabe ist kein verständliches Deutsch So ist die nicht verständlich.
b) Bei konkreten Fragen hilft man gerne, aber komplette Aufgaben machen - eher nein. Sprich. fang mal an und baue eine Rumpf und frag dann konkret nach wo es klemmt. Aber bitte in verständlichen Sätzen. Wenn Deutsch nicht deine Muttersprache ist und die Aufgabe auch nicht in Deutsch ist - entweder in Originalsprache (sofern englisch) fragen oder ein Forum mit der passenden Sprache suchen.
 

hiam

Mitglied
Die aufgabe ist auf deutsch.Ich habe die aufgabe nicht versteht,deswegen kann ich nicht weiter darüber lösen.
----------------------------------------------------------------------------

Schreiben Sie ein Programm, dass zufällig k Cluster (k∈{1,2 ,…,10 })
erzeugt. Zu jedem dieser Cluster sollen dann 100 zweidimensionale
Datenpunkte zufällig erzeugt werden.
Dazu sollte das Programm im ersten Schritt k zufällige Punkte ci (i=1,2,…k )
in [−100 ;100 ]2als Ausgangspunkte für die Cluster erzeugen. Um diese
Ausgangspunkte sollen dann jeweils 100 Datenpunkte als normalverteilte
Zufallszahlen mit dem Mittelwert ci und einer zufälligen
Standardabweichung (sigma = 1, … , 3) erzeugt werden.
 

PinkMuffin

Bekanntes Mitglied
Was genau verstehst du daran nicht? Weißt du was Mittelwert, Standardabweichung, Normalverteilung etc sind?
Nur sagen "ich verstehe es nicht" ist nutzlos, woher sollen wir wissen, warum du es nicht verstehst? Wenn es an der Sprache liegt, bringt es ja nichts, wenn hier jemand diese Aufgabe in eigenen Worten wiederholt.
 

hiam

Mitglied
ja ,ich weiss Mittelwert, Standardabweichung.aber die normalverteilte weiss nicht wie kann ich machen.


für die erste teil mus so sein (
Schreiben Sie ein Programm, dass zufällig k Cluster (k∈{1,2 ,…,10 })
erzeugt. Zu jedem dieser Cluster sollen dann 100 zweidimensionale
Datenpunkte zufällig erzeugt werden.)
lösung :
for(int i=0;i<10;i++){
for(int j=0;j<200;j++){
}}
 

temi

Top Contributor
Schreiben Sie ein Programm, dass zufällig k Cluster (k∈{1,2 ,…,10 })
erzeugt. Zu jedem dieser Cluster sollen dann 100 zweidimensionale
Datenpunkte zufällig erzeugt werden.)
lösung :
for(int i=0;i<10;i++){
for(int j=0;j<200;j++){
}}
Vergleiche: 100 Datenpunkte und int j=0;j<200;. Für die zweidimensionalen Datenpunkte gilt, dass du je einen Datenpunkt mit zwei Dimensionen erzeugen sollst, nicht 200 Datenpunkte.
 
Zuletzt bearbeitet:

hiam

Mitglied
Vergleiche: 100 Datenpunkte und int j=0;j<200;. Für die zweidimensionalen Datenpunkte gilt, dass du je einen Datenpunkt mit zwei Dimensionen erzeugen sollst, nicht 200 Datenpunkte.
Vielen dan für die Antwort.
Ich habe ein Frage.
Für die Mittelwer und Standardabweichung soll nur ein Zahl sein dadurch kann an der regel machen.Aber in meine Aufgabe steht "Mittelwert ci" und "Standardabweichung (sigma = 1,…, 3)" ,Soll ich Mittelwert so rechnen "(1+2+3+4+5+6+7+8+9+10)/10" und "Standardabweichung (sigma = 1,…, 3)" wie kann ich rechnen ?
 

hiam

Mitglied
In diese Aufgabe soll ich ein Programm schreiben ,dass ich ein function mit zwei parameter Mittelwertund,Standardabweichung machen.

Es muss so Sein :
public void Normalverteilte_Zufallszahlen(double Mittelwertund,double Standardabweichung ){

}

 

mihe7

Top Contributor
Hast Du den Link nicht gelesen? Random#nextGaussian() liefert eine normalverteilte Zufallszahl mit einer Standardabweichung von 1.0 um den Erwartungswert 0.0. Du brauchst also nur mit der gewünschten Standardabweichung zu multiplizieren und den gewünschten Mittelwert zu addieren.

Java:
private Random rand = new Random();

public double nextRandom(double mean, double deviation) {
    return mean + rand.nextGaussian() * deviation;
}
 

hiam

Mitglied
Hast Du den Link nicht gelesen? Random#nextGaussian() liefert eine normalverteilte Zufallszahl mit einer Standardabweichung von 1.0 um den Erwartungswert 0.0. Du brauchst also nur mit der gewünschten Standardabweichung zu multiplizieren und den gewünschten Mittelwert zu addieren.

Java:
private Random rand = new Random();

public double nextRandom(double mean, double deviation) {
    return mean + rand.nextGaussian() * deviation;
}
vielen dank für die Antwort.
Könnten Sie bitte sehen,ob diese lösung richtig ist.

Java:
public void Zufall(int mittel,int abweichung) {
        Random rand = new Random();
        double [][] arra = new double[10][10];
       
        for(int i=1;i<=10;i++) {
            System.out.println("Das ist die Cluter : "+ i);
              for(int j=0;j<arra.length;j++) {
                for(int k=0;k<arra[j].length;k++) {
                   
                    arra[j][k]= mittel + rand.nextGaussian() * abweichung;
                    
                    System.out.print(arra[j][k] + " ");
                }System.out.println("");
            }
       
        }
    }
 

mihe7

Top Contributor
ob diese lösung richtig ist.

Nein. Das ist alles Unsinn. Dein i geht bis 10, Du verwendest i nirgends und was willst Du mit einem 10x10 Array?

Von vorne:
Schreiben Sie ein Programm, dass zufällig k Cluster (k∈{1,2 ,…,10 }) erzeugt.
1. Schritt: wähle k zwischen 1 und 10 zufällig. Das ist die Anzahl der Cluster.

Dazu sollte das Programm im ersten Schritt k zufällige Punkte ci (i=1,2,…k )
in [−100 ;100 ]2als Ausgangspunkte für die Cluster erzeugen.
2. Schritt: für jedes i mit 1 <= i <= k erzeuge jeweils einen zufälligen Punkt (m_ix, m_iy) ∈ [-100;100]². Das ist der "Mittelpunkt" des Clusters.

Um diese
Ausgangspunkte sollen dann jeweils 100 Datenpunkte als normalverteilte
Zufallszahlen mit dem Mittelwert ci und einer zufälligen
Standardabweichung (sigma = 1, … , 3) erzeugt werden
3. Schritt: um jeden erzeugten "Mittelpunkt" (m_ix, m_iy) erzeugst Du 100 zufällige Punkte (p_ijx, p_ijy). Dabei ist p_ijx eine normalverteilte Zufallszahl um den Mittelwert m_ix, während p_ijy eine normalverteilte Zufallszahl um den Mittelwert m_iy ist (jeweils mit gegebener Standardabweichung).
 

mihe7

Top Contributor
1. Wähle einen zufälligen Mittelpunkt
2. Berechne 3 zufällige Punkte, die normalverteilt um den Mittelpunkt liegen.
3. Wähle nächsten zufälligen Mittelpunkt
4. Berechne 3 zufällige weitere Punkte, die normalverteilt um den Mittelpunkt liegen.

Ist jetzt nicht so schwer, oder?
 

hiam

Mitglied
Wir haben Mittelwert = 0
um die 3 Punkte ze berechnen ,machen wir nur die Regel :Z = (X - u) / s

X ist die zufällige Punkte
u ist die Mittelwert=0
s ist die Standardabweichung.
 

mihe7

Top Contributor
Um die 3 Punkte zu berechnen, brauchst Du lediglich Math.nextGaussian()*s+u zu rechnen. Und zwar je Punkt einmal für die x-Koordinate und einmal für die y-Koordinate.
 

mihe7

Top Contributor
Die Schritte 1, 2 und 3 aus Kommentar #14 als Java-Code schreiben.

Fang mal mit Schritt 1 an. Das solltest Du problemlos hinbekommen.
 

Neue Themen


Oben