Komplexe Zahlen
Matze
- javascript
Ich will mit komplexen Zahlen rechnen und muss deshalb i als Wurzel von -1 definieren. Mit
i=Math.sqrt(-1);
streikt das Programm. Anscheinend versucht es i auszurechnen und kommt deshalb mit den reellen Zahlen nicht mehr aus. Was soll ich tun, damit der Computer mit komplexen Zahlen rechnet???
(Oder einfach nicht versucht i zu berechnen sonders es einfach hinschreibt und für i zum Quadrat 1 schreibt)
Hallo Matze,
Was soll ich tun, damit der Computer mit komplexen Zahlen rechnet???
Schreibe eine Abstraktion. Der weder PC noch Mac können komplexe
Zahlen. Die kennen nur die Zahlenräume |N und |R, bedingt durch die
Endlichkeit des Speichers und der Rechenkapazität.
Grüße,
CK
Der weder PC noch Mac können komplexe
Zahlen. Die kennen nur die Zahlenräume |N und |R, bedingt durch die
Endlichkeit des Speichers und der Rechenkapazität.
Christian,
So'n Unsinn.
Weder PC noch Mac kennen natürliche oder reelle Zahlen, sondern nur Folgen von Nullen und Einsen.
Solche Bitmuster können auch komplexe Zahlen repräsentieren. Dazu brauch man weder unendlichen Speicher noch unendliche Rechenkapazität.
(Genaugenommen bräuchte man schon unendlich großen Speicher, um beliebig große natürliche Zahlen darzustellen oder den genauen Wert von pi.)
Was soll ich tun, damit der Computer mit komplexen Zahlen rechnet???
In der Programmiersprache FORTRAN gibt's von Hause aus komplexe Zahlen. In JavaScript müsste man sich die erst implementieren, am besten als Objekte, und die Rechenarten als Methoden.
Sowas hat bestimmt schon jemand gemacht; schon mal nach "javascript" und "complex" gegooglet?
Gunnar
Hallo Gunnar,
Der weder PC noch Mac können komplexe
Zahlen. Die kennen nur die Zahlenräume |N und |R, bedingt durch
die Endlichkeit des Speichers und der Rechenkapazität.Christian,
So'n Unsinn.Weder PC noch Mac kennen natürliche oder reelle Zahlen,
Wie erklaerst du dir dann das Vorhandensein von Integer- und
Fliesskomma-Recheneinheiten?
Dazu brauch man weder unendlichen Speicher noch unendliche
Rechenkapazität.
Das sagte ich auch nicht. Mir ging es in dem Passus um Zahlen wie
PI und E, also irrationale Zahlen.
Aber du hast recht, ich meinte nicht die Zahlenmenge |R, sondern die
Menger aller rationalen Zahlen (Q?).
[...] In JavaScript müsste man sich die erst implementieren, am
besten als Objekte, und die Rechenarten als Methoden.
[ ] Du hast gelesen, was ich geschrieben habe.
Grüße,
CK
Halli Hallo
Der weder PC noch Mac können komplexe
Zahlen. Die kennen nur die Zahlenräume |N und |R, bedingt durch
die Endlichkeit des Speichers und der Rechenkapazität.
Christian,
So'n Unsinn.
Das sehe ich ähnlich wie Gunnar. Rechner können nur 1 und 0 alles andere ist Interpretationssache und wird in Software realisiert, die man wiederum in Hardware festschreiben kann...
Weder PC noch Mac kennen natürliche oder reelle Zahlen,
Wie erklaerst du dir dann das Vorhandensein von Integer- und
Fliesskomma-Recheneinheiten?
Da man die ständig und überall brauch wurden sie in Hardware realisiert. Ich denke wenn wir satt 5 Fingern 5i Finger hätten und daher auch der Rest der mathematischen Welt (so wie sie 99% kennen) komplex wäre müsste man entsprechend nach einer Integer-Hardwarelösing suchen..
Dazu brauch man weder unendlichen Speicher noch unendliche
Rechenkapazität.
Das sagte ich auch nicht. Mir ging es in dem Passus um Zahlen wie
PI und E, also irrationale Zahlen.
ACK
Aber du hast recht, ich meinte nicht die Zahlenmenge |R, sondern die
Menger aller rationalen Zahlen (Q?).
|Q ist korrekt: http://de.wikipedia.org/wiki/Rationale_Zahlen
[...] In JavaScript müsste man sich die erst implementieren, am
besten als Objekte, und die Rechenarten als Methoden.[X] Du hast gelesen, was ich geschrieben habe.
Zusmmenfassend denk ich, Integer-/Gleitkommaunsterstützung wird ständig gebraucht und ist daher meist[1] in hardware verfügbar, komplexe Zahlen sind jedoch im Alltag eher selten und benötigen daher entsprechende Softwarebibliotheken, die es IMHO für alle gängigen Programmiersprechen geben dürfte.
Grüsse, eeye
[1]Auf den meisten Handys hat man AFAIK keine Gleitkommaunsterstützung, weshalb auch bei J2ME die entsprechenden Datentypen fehlen...
Hallo eeye,
[...] die man wiederum in Hardware festschreiben kann...
Eben. Und, wie gesagt, damit kennt der Prozessor dann |N und Q.
Weder PC noch Mac kennen natürliche oder reelle Zahlen,
Wie erklaerst du dir dann das Vorhandensein von Integer- und
Fliesskomma-Recheneinheiten?
Da man die ständig und überall brauch wurden sie in Hardware realisiert.
Ich denke wenn wir satt 5 Fingern 5i Finger hätten und daher auch der
Rest der mathematischen Welt (so wie sie 99% kennen) komplex wäre
müsste man entsprechend nach einer Integer-Hardwarelösing suchen..
Ich habe nicht gesagt, dass eine CPU nicht so gebaut werden kann, dass
sie komplexe Zahlen kennt. Klar geht das.
[1]Auf den meisten Handys hat man AFAIK keine Gleitkommaunsterstützung,
weshalb auch bei J2ME die entsprechenden Datentypen fehlen...
Den gab es auf früheren Prozessoren auch nicht. Erst der 486er brachte
von Haus aus eine FPU mit.
Grüße,
CK
Hi CK
Den gab es auf früheren Prozessoren auch nicht. Erst der 486er brachte
von Haus aus eine FPU mit.
Stimmt, ich habe damals auch für meinen 386 einen mathematischen Coprozessor gekauft, der dann immerhin die Berechnung meines ersten selbstgecodeten Apfelmännchens von über 20 min auf unter 2 min beschleunigte :-)
Grüsse, eeye
Tach eeye,
Den gab es auf früheren Prozessoren auch nicht. Erst der 486er brachte
von Haus aus eine FPU mit.
Stimmt, ich habe damals auch für meinen 386 einen mathematischen Coprozessor gekauft,
der dann immerhin die Berechnung meines ersten selbstgecodeten Apfelmännchens von
über 20 min auf unter 2 min beschleunigte :-)
Ja, ähnliches kann ich auch berichten... nur habe ich statt einen Coprozessor
zu kaufen einen 486er dann gekauft ;)
Grüße,
CK
Hi Christian,
Weder PC noch Mac kennen natürliche oder reelle Zahlen,
Wie erklaerst du dir dann das Vorhandensein von Integer- und
Fliesskomma-Recheneinheiten?
Das ist eine anderes Layer der Betrachtung. Ganz unten gibt's nur Bitmuster, in Layern darüber werden daraus z.B. Buchstaben oder Integer-Zahlen oder Fließkommazahlen oder - warum auch nicht - komplexe Zahlen.
[ ] Du hast gelesen, was ich geschrieben habe.
[X] Ja.
Mir erschloss sich allerdings nicht so ganz, was du mit "Schreibe eine Abstraktion" meintest.
Gunnar
Hallo Gunnar,
Weder PC noch Mac kennen natürliche oder reelle Zahlen,
Wie erklaerst du dir dann das Vorhandensein von Integer- und
Fliesskomma-Recheneinheiten?Das ist eine anderes Layer der Betrachtung.
... die fest im Prozessor verdrahtet ist. Und damit kennt der Prozessor
dann Q und |N.
Ganz unten gibt's nur Bitmuster, in Layern darüber werden daraus z.B.
Buchstaben oder Integer-Zahlen oder Fließkommazahlen
Ich habe nicht bestritten, dass die Speicher-Form Bitmuster sind.
oder - warum auch nicht - komplexe Zahlen.
Ich hab auch nicht gesagt, dass man nicht eine CPU bauen könnte, die von Haus
aus auch mit komplexen Zahlen rechnen kann. Natürlich geht das, man müsste halt
mit dem Imaginär-Teil symbolisch rechnen.
Grüße,
CK