|
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 -------------------- |