Plot-Gleichung, die einen Kreis zeigt

8

Die folgende Formel wird verwendet, um Punkte aus einem zweidimensionalen Raum zu klassifizieren:

%Vor%

Alle Punkte sind im Raum X = [-1,1] x [-1,1] mit einer einheitlichen Wahrscheinlichkeit, jedes x auszuwählen.

Nun möchte ich den Kreis, der gleich ist, visualisieren:

%Vor%

Die Werte von x1 sollten auf der x-Achse und die Werte von x2 auf der y-Achse sein.

Es muss möglich sein, aber ich habe Schwierigkeiten, die Gleichung in eine Zeichnung umzuwandeln.

    
Elyakim 19.08.2015, 10:27
quelle

4 Antworten

5

Sie können ein Konturdiagramm wie folgt verwenden (basierend auf den Beispielen in Ссылка ):

%Vor%

Dies ergibt das folgende Diagramm

Schließlich einige allgemeine Aussagen:

  1. x^2 bedeutet nicht, was Sie denken in Python, Sie müssen x**2 verwenden.
  2. x1 und x2 sind sehr irreführend (für mich), besonders wenn Sie angeben, dass x2 auf der y-Achse stehen muss.
  3. (Danke an Dux) Sie können plt.gca().set_aspect('equal') hinzufügen, damit die Figur tatsächlich kreisförmig aussieht, indem Sie die Achse gleich machen.
Bas Jansen 19.08.2015, 10:52
quelle
6

Die Lösung von @BasJansen bringt Sie sicher dorthin, entweder sehr ineffizient (wenn Sie viele Gitterpunkte verwenden) oder ungenau (wenn Sie nur wenige Gitterpunkte verwenden).

Sie können den Kreis einfach direkt zeichnen. Bei 0 = x1**2 + x**2 - 0.6 folgt% x2 = sqrt(0.6 - x1**2) (wie Dux angegeben).

Aber was Sie wirklich wollen, ist, Ihre kartesischen Koordinaten in polare umzuwandeln.

%Vor%

Wenn Sie diese Substitutionen in der Kreisgleichung verwenden, sehen Sie r=sqrt(0.6) .

Nun können Sie das für Ihre Handlung verwenden:

%Vor%

Ergebnis:

    
hitzg 19.08.2015 13:58
quelle
5

Wie wäre es, x-Werte zu zeichnen und die entsprechenden y-Werte zu berechnen?

%Vor%

erzeugt

Das kann natürlich viel schöner gemacht werden, aber das ist nur zur Demonstration ...

    
Dux 19.08.2015 10:47
quelle
0
%Vor%

erzeugt:

    
chen_767 18.05.2017 14:45
quelle