arange probleme

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
fk08
User
Beiträge: 37
Registriert: Donnerstag 20. März 2008, 13:46

arange probleme

Beitragvon fk08 » Dienstag 15. April 2008, 15:04

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
DigitalPhoenix
User
Beiträge: 4
Registriert: Dienstag 15. April 2008, 14:45

Beitragvon DigitalPhoenix » Dienstag 15. April 2008, 15:13

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?
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 15. April 2008, 15:15

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?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
fk08
User
Beiträge: 37
Registriert: Donnerstag 20. März 2008, 13:46

Beitragvon fk08 » Dienstag 15. April 2008, 15:23

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.
fk08
User
Beiträge: 37
Registriert: Donnerstag 20. März 2008, 13:46

Beitragvon fk08 » Dienstag 15. April 2008, 15:36

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.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Beitragvon CM » Dienstag 15. April 2008, 15:56

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

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]