Triangle wave-shaped array in Python
Was ist die effizienteste Weise zu produzieren, die ein array von 100 zahlen, die die form der Dreieck-Welle unten mit einem max/min amplitude von 0,5?
Dreieck-Wellenform in den Sinn:
Sie brauchen nur zu arrangieren, die Daten, Struktur oder zeichnen Sie eine grafische Darstellung zu?
Nur brauchen, um ein array von 100 Einträgen, nehmen diese Form. Die grafische Darstellung nicht benötigt!
Wikipedia hat 3 verschiedene Formeln, die Sie verwenden können, um zu berechnen, Dreieck Welle: en.wikipedia.org/wiki/Triangle_wave#Definitions möglicherweise gibt Es schnellere Wege, aber die Umsetzung eine dieser Gleichungen sollte ein schöner Ausgangspunkt.
Ich denke, es könnte einfacher sein, erstellen Sie das array mit drei teilen, die als y=(-)x. I. e. Die erste wäre
Wie wichtig ist die Geschwindigkeit wirklich für Sie? Ich nehme an, es ist nicht wirklich schlimm, aber wenn Sie es tut, Sie sollten schreiben Sie die Beispiele unten an, um mehr
Nur brauchen, um ein array von 100 Einträgen, nehmen diese Form. Die grafische Darstellung nicht benötigt!
Wikipedia hat 3 verschiedene Formeln, die Sie verwenden können, um zu berechnen, Dreieck Welle: en.wikipedia.org/wiki/Triangle_wave#Definitions möglicherweise gibt Es schnellere Wege, aber die Umsetzung eine dieser Gleichungen sollte ein schöner Ausgangspunkt.
Ich denke, es könnte einfacher sein, erstellen Sie das array mit drei teilen, die als y=(-)x. I. e. Die erste wäre
pylab.arange(0,0.5,25)
Wie wichtig ist die Geschwindigkeit wirklich für Sie? Ich nehme an, es ist nicht wirklich schlimm, aber wenn Sie es tut, Sie sollten schreiben Sie die Beispiele unten an, um mehr
np.arange
wie Sie sagte, ein leeres array erzeugen und füllen diese dann mit np.arange
Elemente, zum Beispiel (statt der Iterationen unten).InformationsquelleAutor 8765674 | 2012-09-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen generator:
Dieser wird funktionieren gut für eine Länge teilbar durch 4, verpassen Sie möglicherweise bis zu 3 Werte für andere Längen.
ändern
range
zuxrange
(wenn es python < 3)InformationsquelleAutor Martijn Pieters
Verwenden numpy:
InformationsquelleAutor HYRY
Den einfachsten Weg zur Erzeugung von Dreieck-Welle ist durch die Verwendung von signal.Sägezahn. Beachten Sie, dass signal.Sägezahn(phi, Breite) akzeptiert zwei Argumente. Das erste argument ist die phase, der nächste Parameter gibt die Symmetrie. Breite = 1 gibt eine rechtsseitige Sägezahn, Breite = 0 ergibt eine linksseitige Sägezahn und Breite = 0.5 gibt einem symmetrischen Dreieck. Genießen Sie!
InformationsquelleAutor py_man
Dreieck ist der absolute Wert von Sägezahn.
InformationsquelleAutor roadrunner66
Können Sie ein iterator-generator zusammen mit der numpy fromiter Methode.
Haben Sie jetzt ein array mit der square-wave.
InformationsquelleAutor Keith
Hier ist eine hausgemachte python-Funktion für dreieckige Signale
InformationsquelleAutor Fabio