Stuttgart, den 27. Oktober 1998
An alle Mathematica-Kundigen !
Zu meinem Problem fand ich die folgende Lösung,
zu der ich Kommentare wegen der systematischen Korrektheit erbitte :
Es sei :
Z = R + I omega L + 1 / ( I omega Cc )
eine komplexe Variable Z .
Man erhält die konjugiert komplexe Variable Zbar durch die folgende
Ersetzungs-Regel :
Zbar = Z /. { I -> -I, -I -> I }
Dann folgen die Real- und Imagniär-Teile von Z mit :
imagZ = Simplify[ ( Z - Zbar ) / ( 2 I ) ]
realZ = Simplify[ ( Z + Zbar ) / 2 ]
Offensichtlich impliziert der Rechengang, dass R, omega, L und Cc real
sind.
Mit freundlichen Gruessen
Gunter Woysch
-------------------- Begin Forwarded Message --------------------
From: Gunter Woysch, 106476,200
To: DMUG , Internet : dmug@XXXXXXX.ch
Date: Die, 27. Okt 1998 8:15:21
RE: MMa 3.0.1 : Trennen von Variablen in Real- und Imaginaer-Teil
Stuttgart, den 27. Oktober 1998 - Praezisierung
An die Mathematica-Kundigen !
Eine natuerliche Schreibweise fuer den komplexen Widerstand Z eines
elektrischen Serien-Resonanzkreises ist
Z = R + I omega L + 1 / ( I omega Cc )
dabei sei
"I" die imaginaere Einheit ,
"omega" die Kreisfrequenz " 2 Pi f " .
Leider kann man Z nicht einfach wie folgt in den Real- und Imaginaer-Teil
trennen :
realZ = Coefficient[ ComplexExpand[ Z ], I, 0 ]
imagZ = Coefficient[ ComplexExpand[ Z ], I, 1 ] .
Mathematica 3.0.1 bemerkt dazu :
General::ivar : I is not a valid variable ,
was wohl bedeutet,
dass die imaginaere Einheit " I " von Coefficient[] nicht wie eine sonstige
Variable behandelt wird.
Auch Re[ Z ] und Im[ Z ] liefern nicht das naiv erwartete Ergebnis.
Wie loest man dieses Problem moeglichst einfach und sauber ?
Anders gesagt,
gibt es einen einfachen Weg,
die Variablen R , L und Cc als Real_Variable zu deklarieren ?
Vielen Dank fuer eine kurze Antwort !
Mit freundlichen Gruessen
Gunter Woysch
-----
Dr. Gunter Woysch
Reisstr. 15
D 70435 Stuttgart
eMail Gunter_Woysch@XXXXXXX.com
-----
-------------------- End Forwarded Message --------------------
|