AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komplexe Zahlen: Potenzen

Ein Thema von Green · begonnen am 31. Jan 2008 · letzter Beitrag vom 1. Feb 2008
Antwort Antwort
Medium

Registriert seit: 23. Jan 2008
3.689 Beiträge
 
Delphi 2007 Enterprise
 
#1

Re: Komplexe Zahlen: Potenzen

  Alt 1. Feb 2008, 01:39
Das ganze lässt sich ein wenig aufdröseln. Der Ansatz lautet im Reellen wie im Komplexen: a^b = exp(b*ln(a))

Du brauchst also nur noch die komplexen Varianten der Exponentialfunktion und des natürlichen Logarithmus, und kannst dann sehr elegant 2 komplexe Argumente miteinander Potenzieren.

Exp(C):
Delphi-Quellcode:
function expC(const C : TComplex) : TComplex;
var
  sn, cs : extended;
  t : double;
begin
  sincos(C.i, sn, cs);
  t := exp(C.r);
  result.r := t * cs;
  result.i := t * sn;
end;
Ln(C):
Delphi-Quellcode:
function lnC(const C : TComplex) : TComplex;
begin
  result.r := ln(sqrt(sqr(C.r)+sqr(C.i)));
  result.i := argC(C).r;
end;
Wobei du hier noch argC() brauchst:
Delphi-Quellcode:
function argC(const C : TComplex): double;
var
  temp : double;
begin
  result := 0;
  temp := 0;
  if (C.r = 0) and (C.i = 0) then Exit;

  if C.i <> 0 then
  begin
    result := pi / 2 * Sign(C.i);
    Exit;
  end
  else
  begin
    if C.r > 0 then
    begin
      result := 0;
      Exit;
    end
    else
    begin
      result := pi;
      Exit;
    end;
  end;

  if C.r <> 0 then
    temp := ArcTan(Abs(C.i / C.r));

  if C.r > 0 then
  begin
    if C.i > 0 then
    begin
      result := temp;
      Exit;
    end
    else
    begin
      result := -temp;
      Exit;
    end;
  end
  else
  begin
    if C.i > 0 then
    begin
      result := pi - temp;
      Exit;
    end
    else
    begin
      result := temp - pi;
      Exit;
    end;
  end;
end;
Schaut erstmal wild aus, funktioniert aber auch.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz