2017-05-02 7 views
1
Punkte mit Kreismustern Punkten in Octave koordiniert

Two types of samples with circle patterngenerieren

I 300 Proben beiden Typen, Rot und Blau erzeugen will, um Punkte mit diesen Mustern koordinieren. Mit rand() für x und dann y mit Pythagoras Theorem berechnen hilft nicht, denn für das gleiche x, können wir verschiedene y haben.

+0

Ich schlage vor, generaring in Polarkoordinaten, dann cartesianischen Umwandlung wenn benötigt. Wie auch immer, deine Frage ist unklar. Sie sollten Ihren versuchten Code angeben. Außerdem sind die Kreise nicht richtig angegeben. Zum Beispiel, welche Dicke sollte die rote haben? –

+0

Danke für den Kommentar. Aber das ist alles was ich für die Antwort bekomme. Ich kann Ihnen keine weiteren Informationen geben. –

Antwort

2

Wie von Luis Mendo vorgeschlagen, können Sie die typische rand Funktion von Matlab verwenden, um zufällige Punkte in polar coordinates zu erzeugen wie folgt:

figure 
hold on 

red = sampleCircle([1.4 1.6], 300); 
plot(red(:, 1), red(:, 2), 'r*'); 

blue = sampleCircle([0 0.5], 300); 
plot(blue(:, 1), blue(:, 2), 'b*'); 

function X = sampleCircle(rangeR, n) 
    r = rand(n, 1) * diff(rangeR) + rangeR(1); 
    theta = rand(n, 1) * 2*pi; 

    X = r .* [cos(theta) sin(theta)]; 
end 

enter image description here

+0

Danke, denk niemals an Polarkoordinaten. Da die Frage nicht weiter besteht, sehe ich, dass Sie die Breite des Kreises und die gleichmäßige Zufallszahl zwischen diesen Bereichen annehmen, aber da ich einen Ausreißer in der blauen Klasse sehe, dachte ich über Zufallsgenerator basierend auf einer Verteilungsfunktion nach, die ich nicht kenne von. Ich frage mich, ob diese Übung mit einer Verteilungsfunktion gelöst werden kann. –

+0

Sie erwähnen immer eine Übung oder Antworten, als ob dies ein Problem ist, das Sie erhalten haben. Sie können nicht erwarten, dass wir Ihnen eine zufriedenstellende Antwort geben, wenn Sie das eigentliche Problem, das Sie lösen möchten, nicht weitergeleitet haben. –

+0

Versuchen Sie, einen anderen Zufallsgenerator in Matlab zu verwenden. Sie sollten einen mit Ihrer bevorzugten Suchmaschine finden können. – m7913d