Algorithmus für komplexe Potenzen von/mit komplexen Zahlen |
| 19.08.2023, 13:00 | regxy | Auf diesen Beitrag antworten » | |||||||
| Algorithmus für komplexe Potenzen von/mit komplexen Zahlen Für reelle Potenzen fand ich immerhin: Für eine komplexe Zahl z ungleich Null (mit dem Betrag r und dem Argument Æ \varphi ) soll unter z x mit x ∈ R \;z^{x}\;{\text{mit}}\;x\in \mathbb {R} \; jede der folgenden komplexen Zahlen mit k ∈ N 0 k\in \mathbb {N} _{0} verstanden werden:r x ⋅ [ cos ⁡ ( x ( Æ + k ⋅ 2 À ) ) + i ⋅ sin ⁡ ( x ( Æ + k ⋅ 2 À ) ) ] r^{x}\cdot \left[{\cos \left(x(\varphi +k\cdot 2\pi )\right)+\mathrm {i} \cdot \sin \left(x(\varphi +k\cdot 2\pi )\right)}\right] mist, kann das hier im Editor nicht einfügen ... Für eine komplexe Zahl z z ungleich Null (mit dem Betrag r r und dem Argument Æ \varphi ) soll unter z x mit x ∈ R \;z^{x}\;{\text{mit}}\;x\in \mathbb {R} \; jede der folgenden komplexen Zahlen mit k ∈ N 0 k\in \mathbb {N} _{0} verstanden werden: https://de.wikibooks.org/wiki/Komplexe_Z...Rechenverfahren aber wie geht es, wenn "x" ebenfalls komplex ist? Ich will dies in C programmieren, aber ohne <complex.h>, das habe ich nämlich hier im virtuellen C compiler nicht |
|||||||||
| 19.08.2023, 13:33 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
Wenn du willst, dass sich jemand WIRKLICH damit befasst, dann solltest du die obigen Hieroglyphen in was lesbares verwandeln... ------------------------------------------------- Normalerweise versteht man unter für beliebige komplexe mit die Zahl , wobei mit der Logarithmus-Hauptwert gemeint ist. Sofern ich das wenige lesbare bei dir oben richtig deute, möchtest du stattdessen eine "mehrwertige Potenz" betrachten, also die Menge . Ja, das wird bisweilen gemacht, z.B. wenn man alle Lösungen der komplexen Gleichung als "-te Wurzeln von " bezeichnet. |
|||||||||
| 19.08.2023, 13:46 | regxy | Auf diesen Beitrag antworten » | |||||||
steht im geposteten Link ganz unten vor den Übungen,aber es würde eh nichts bringen, weil die Formel ja nur für reelle Exponenten gilt und ich die für komplexe Exponenten suche, wofür ich noch nirgends eine Lösung per googeln gefunden habe (inzwischen über 2 Stunden herumgesucht). Für den Anfang würde auch eine abgespeckte Lösung helfen für Terme wie n^s (n aus Z, s aus C), aber auch hier fand ich keine Formel. Gedacht ist es zur Berechnung der zeta-Funktion als Eulerprodukt |
|||||||||
| 19.08.2023, 14:12 | Steffen Bühler | Auf diesen Beitrag antworten » | |||||||
Generell gilt: Wie man von kartesisch zu polar umrechnet, wirst Du wissen, nehme ich an. Und Dein Compiler kennt bestimmt die atan2-Funktion. Viele Grüße Steffen |
|||||||||
| 19.08.2023, 14:21 | regxy | Auf diesen Beitrag antworten » | |||||||
hm , e hoch i mal irgendwas kann ich nicht ausrechnen, dazu bräuchte ich ja <complex.h>. Ich bräuchte eine Formel, wo ich den Realteil und den Imaginärteil getrennt als reelle Zahlen im R² ausrechnen kann, scheint dann doch sehr viel komplizierter zu sein, so ähnlich wie hier beim Dividieren:
|
|||||||||
| 19.08.2023, 14:22 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
Steffen, falls du mit die Polardarstellung meinst, dann sind die letzten beiden Zeilen deiner Gleichungskette falsch. Meines Erachtens lautet dann das Potenzergebnis (nur Hauptwert) . P.S.: Kurz vor dem Abschicken habe ich bemerkt, dass du das Ergebnis editiert hast. |
|||||||||
| Anzeige | |||||||||
|
|
|||||||||
| 19.08.2023, 14:27 | Steffen Bühler | Auf diesen Beitrag antworten » | |||||||
Zur Umrechnung kartesisch-polar: mit Betrag und Winkel PS: Und beim Multiplizieren komplexer Zahlen multiplizieren sich die Beträge und addieren sich die Winkel. |
|||||||||
| 19.08.2023, 14:28 | Steffen Bühler | Auf diesen Beitrag antworten » | |||||||
Ja, aber trotzdem danke fürs Aufpassen! |
|||||||||
| 19.08.2023, 14:40 | regxy | Auf diesen Beitrag antworten » | |||||||
nochmal danke, aber das kann ich leider nicht programmieren. ich bräuchte wie gesagt was in der Art zur getrennten Berechnung von real - und imag-Komponenten wie
|
|||||||||
| 19.08.2023, 14:45 | Steffen Bühler | Auf diesen Beitrag antworten » | |||||||
Hast Du also keine atan2-Funktion? Die kannst Du Dir selber bauen, steht zum Beispiel in unserem Workshop. Alles polar machen, Beträge multiplizieren, Winkel addieren und wieder kartesisch. Die Formel dafür hast Du ja schon verlinkt, aber auch die steht natürlich im Workshop. |
|||||||||
| 19.08.2023, 14:54 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
In C/C++/Java sind die Argumente gerade vertauscht: Da muss man atan2(y,x) rechnen. In MS-Excel komischerweise ARCTAN2(x,y). Wäre schön gewesen, wenn man sich da besser geeinigt hätte.
|
|||||||||
| 19.08.2023, 14:57 | regxy | Auf diesen Beitrag antworten » | |||||||
atan2 habe ich (ist in math.h enthalten), aber ich brauche eben getrennte Formeln für c3.real und c3.imag und verstehe nicht, wie ich das aus deinen Formeln isoliert herausziehen kann - komplexes rechnen ist noch etwas schwach ausgebildet... |
|||||||||
| 19.08.2023, 15:07 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
Anscheinend hast du massive Wissenslücken bei komplexen Zahlen, wenn du das aus den oben genannten Formeln nicht selbst hinkriegst. Basierend auf
ist das Potenzergebnis mit den Neben- bzw. Hilfsrechnungen Kriegst du es damit hin? |
|||||||||
| 19.08.2023, 15:08 | Steffen Bühler | Auf diesen Beitrag antworten » | |||||||
Nehmen wir die letzte Zeile meines editierten Beitrags: Wie gesagt, die Beträge multiplizieren sich zu und die Winkel addieren sich zu Mit diesem Betrag und Winkel kommst Du nun auf den Real- und Imaginärteil. |
|||||||||
| 19.08.2023, 15:22 | regxy | Auf diesen Beitrag antworten » | |||||||
ist mir doch zu kompliziert, weil die C-Funktionen keine Beträge oder Quadrate von komplexen Zahlen können und auch die anderen Funktionen eine andere Syntax haben, die Verschachtelung mit den Hilfsvariablen macht es dann zu schwierig... |
|||||||||
| 19.08.2023, 15:24 | Steffen Bühler | Auf diesen Beitrag antworten » | |||||||
Ich denke, die Topmathematiker sind da bei MS a wengele durcheinandergekommen. Es gibt die Funktion KOMPLEXE und IMAGINÄRTEIL, die noch machen, was man vom Namen her erwartet. Aber schon die Funktion REALTEIL gibbet's nicht, die heißt IMREALTEIL. Und so weiter: IMARGUMENT, IMKONJUGIERTE, IMCOS etc. Bei den Grundrechenarten wird's dann noch logischer: addieren macht IMSUMME (das Ergebnis), subtrahieren aber IMSUB (die Tätigkeit). Multiplizieren erledigt IMPRODUKT (das Ergebnis), dividieren dagegen IMDIV (die Tätigkeit). Ich hatte vor ewigen Zeiten mal ein einfaches Excelprogramm zum Zwei-Ebenen-Wuchten geschrieben und kann mich gut erinnern, wie ich nach den entsprechenden Funktionen gesucht und mich anschließend über die eigenwillige Benamsung gewundert habe. |
|||||||||
| 19.08.2023, 15:29 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
Falls du es immer noch nicht begriffen hast: Was ich da oben hingeschrieben habe sind REIN REELLE Rechnungen.
|
|||||||||
| 19.08.2023, 15:30 | Steffen Bühler | Auf diesen Beitrag antworten » | |||||||
Sowas schreibt man ja auch selbst:
Beim Quadrieren quadriert sich der Betrag und der Winkel verdoppelt sich. |
|||||||||
| 19.08.2023, 15:35 | regxy | Auf diesen Beitrag antworten » | |||||||
ach so, ja klar, ich habe es jetzt so gemacht:
jetzt müsste ich es schaffen....
dachte ich .... aber die verschachtelten phi, r~, ln(r) und was zu welchem der beiden c1, c2 für welche Komponente gehört macht es zu wirr... |
|||||||||
| 19.08.2023, 15:54 | regxy | Auf diesen Beitrag antworten » | |||||||
aha, habe jetzt erst den editierten Artikel gesehen, das macht es jetzt tatsächlich absolut klar und praktisch nutzbar! Vielen, vielen Dank! |
|||||||||
| 19.08.2023, 15:55 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
Du bist ein hoffnungsloser Fall: Selbst beim KOMPLETTEN Code nörgelst du noch rum - grauenhaftes Verhalten.
|
|||||||||
| 19.08.2023, 16:00 | regxy | Auf diesen Beitrag antworten » | |||||||
wieso nörgeln? im Gegenteil, ich habe mich doch sehr herzlich bedankt! bei c1=(2;0) und c2=(3;0) kommt dann real 8 imag 1 heraus, stimmt das? (ich hätte imag 0 erwartet) |
|||||||||
| 19.08.2023, 16:07 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
Ich bezog mich auf diese Nörgelei:
|
|||||||||
| 19.08.2023, 16:11 | regxy | Auf diesen Beitrag antworten » | |||||||
das war kein Nörgeln sondern Eingestehen meines Scheiterns beim Codieren. ich verstehe leider nicht viel von komplexen Zahlen (außer dass sie 2 Komponenten haben) und daher macht mir das Rechnen mit ihnen jenseits vom Addieren zu einem großen Problem, und dann erst recht das Kodieren, da schwirrt mit zu schnell der Schädel...Aber nochmals vielen Dank für deinen Code! |
|||||||||
| 19.08.2023, 16:15 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
Vielleicht solltest du es erstmal mit etwas einfacherem probieren - sowohl bei den komplexen Zahlen (nicht gleich die Zetafunktion) also auch beim Programmieren. |
|||||||||
| 19.08.2023, 16:27 | regxy | Auf diesen Beitrag antworten » | |||||||
das Programmieren an sich ist nicht das Problem, wenn die Formel wirklich klar ist, und das war sie mir noch nicht, daher kam ich mit den vielen verschachtelten Koeffizienten und Termen durcheinander. Aber zurück zur obigen Frage: bei c1=(2;0) und c2=(3;0) kommt mit deinem Algorithmus real 8 imag 1 heraus, stimmt das? (ich hätte imag 0 erwartet) |
|||||||||
| 19.08.2023, 16:30 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
Nein,es kommt heraus - du hast dich verrechnet. EDIT: Ah, Ok, ich hab mich an einer Stelle im Code vertippt - da musste c2.real statt c1.real hin. Aber mit diesem Vertipper wäre das falsche Ergebnis 4 statt 8+i herausgekommen. |
|||||||||
| 19.08.2023, 16:47 | regxy | Auf diesen Beitrag antworten » | |||||||
ln() kennt C nicht, ich habe daher log() verwendet. Dann gabs aber noch beim editieren einen c+p-Fehler, und mein "Virtual C" hier hat leider eine sehr unübersichtliche IDE. ... jap, jetzt kommt hier auch 8;0 |
|||||||||
| 19.08.2023, 17:01 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
log ist Ok, in C/C++ ist das der natürliche Logarithmus, ja. |
|||||||||
|
|
Verwandte Themen
| Die Beliebtesten » |
|
| Die Größten » |
|
| Die Neuesten » |
|
