Seite 1 von 1

arange probleme

Verfasst: Dienstag 15. April 2008, 15:04
von fk08
hallo,

ich möchte ein array via arange bauen.

z.b funktioniert:

x = arange(1,256,4)

out:
array([ 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49,
53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101,
105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153,
157, 161, 165, 169, 173, 177, 181, 185, 189, 193, 197, 201, 205,
209, 213, 217, 221, 225, 229, 233, 237, 241, 245, 249, 253])
bei
x = arange(512,256,4)

kommt allerdings die fehlermeldung:

Out[27]: array([], dtype=int32)


woran liegt das, was muss ich ändern?


viele grüße

Verfasst: Dienstag 15. April 2008, 15:13
von DigitalPhoenix
Ich fang gerade mit Python an von daher ist meine Aussage mit Vorsicht zu geniessen.
Aber wenn ich das richtig sehen willst du bei 512 anfangen und bei 256 enden?
Willst du negative Ergebnisse?

Verfasst: Dienstag 15. April 2008, 15:15
von jens
ich kenne arange nicht, aber vielleicht geht's mit x = arange(512,256,-4) also mit minus 4

Aber warum brauchst du das überhaupt? Was ist arange?

Verfasst: Dienstag 15. April 2008, 15:23
von fk08
ich möchte z.b ein array erzeugen mit 256 einträgen, wobei der erste eintrag 534.542 sein soll, dann der nächste eintrag 534.542+4, der dritte 534.542+(2*4) usw.

ich dachte mit arange funktioniert das (übrigens ist das von pylab importiert)

arange(start,stop) --->hab das stop falsch interpretiert.

Verfasst: Dienstag 15. April 2008, 15:36
von fk08
hat sich erledigt! hab ich hinbekommen.

problem war das start größer war als stop.

danke für den tipp, man muss dann nämlich,
arange(start, stop=None, step=1, typecode=None, dtype=None)
beim step ein minuszeichen hinzufügen.

Verfasst: Dienstag 15. April 2008, 15:56
von CM
Das war was DigitalPhoenix auch schon angesprochen hat.

Im Übrigen hast Du das nicht von pylab importiert, sondern von der Numerix-Umgebung von matplotlib. Diese wird entweder auf Numeric, numarray oder - wenn Du eine aktuelle Installation hast - auf numpy zurückfallen.
In diesem Fall magst Du Dir vielleicht auch folgende Funktionen anschauen:
- gradient
- linspace
- fromfunction
- fromiter
Diese sind manchmal eine praktische Alternative zu Operationen mit und um arange.

Gruß,
Christian