喫茶XRAYトップページ

[スレッド全体
]

[9128] Re8:Delphiで複素数計算返信 削除
2015/8/25 (火) 16:55:02 taki
// ------------------------------------

  rad := (27 / 180) * pi;  // 27度

  a.Real := rad;
  a.Imaginary := rad;

  kaku := VarComplexAngle(a);   // 偏角は?

  kaku := kaku / pi * 180;
  label1.Caption := floattostr(kaku);   // 常に結果は45

  label2.Caption := floattostr(VarComplexAbs(a));
  // rad := ( 27 / 180) * pi; の時は 0.6664...
  // rad := (127 / 180) * pi; の時は 3.134..   半径が変わる

// ------------------------------------

  rad := (127 / 180) * pi;

  a.Real := rad;            // 127
  a.Imaginary := rad;       // 127

  b := VarComplexExp(a);    // b = e^a

  kaku := VarComplexAngle(b);   // 偏角は?
  kaku := kaku / pi * 180;
  label3.Caption := floattostr(kaku);    // 127度
  label4.Caption := floattostr(VarComplexAbs(b));    // 9.1757...

// ------------------------------------

  rad := (127 / 180) * pi;  // 2.21656...

  a.Real := rad;            // 127
  a.Imaginary := -rad;      // -127

  b := VarComplexExp(a);    // b = e^a

  kaku := VarComplexAngle(b);   // 偏角は?
  kaku := kaku / pi * 180;
  label5.Caption := floattostr(kaku);    // -127度
  label6.Caption := floattostr(VarComplexAbs(b));     // 9.1757...

// ------------------------------------

色々と試してみました。

> 問題は、"+I*"じゃなくて"-I*"だということですね。

どうやら、右回りになりそうです。
 
> RealもImaginaryも実数を格納するから、やはり
> 0.0 +I* (-N2pi * n); の意味になるのかな?


Realが0なら、Imaginaryがどんな値をとっても・・・ですよね。


[9131] Re9:Delphiで複素数計算返信 削除
2015/8/25 (火) 20:06:05 taki
// ------------------------------------

  rad := (127 / 180) * pi;

  a.Real := 0.0;            // 0.0
  a.Imaginary := rad;       // 127

  b := VarComplexExp(a);    // b = e^a

  kaku := VarComplexAngle(b);   // 偏角は?
  kaku := kaku / pi * 180;
  label3.Caption := floattostr(kaku);    // 127度
  label4.Caption := floattostr(VarComplexAbs(b));    // 1.0

// ------------------------------------

  rad := (127 / 180) * pi;  // 2.21656...

  a.Real := 0.0;            // 0.0
  a.Imaginary := -rad;      // -127

  b := VarComplexExp(a);    // b = e^a

  kaku := VarComplexAngle(b);   // 偏角は?
  kaku := kaku / pi * 180;
  label5.Caption := floattostr(kaku);    // -127度
  label6.Caption := floattostr(VarComplexAbs(b));     // 1.0

// ------------------------------------

> Realが0なら、Imaginaryがどんな値をとっても・・・ですよね。

すみません。Realが0でも意味がありました。
しかも、長さは1.0になりました。


[9132] そういうことか。返信 削除
2015/8/25 (火) 23:08:18 taki
  rad := (127 / 180) * pi;

  a.Real := 0.0;            // 0.0
  a.Imaginary := rad;       // 127

  b := VarComplexExp(a);    // b = e^a

  kaku := VarComplexAngle(b);   // 偏角は?
  kaku := kaku / pi * 180;
  label3.Caption := floattostr(kaku);    // 127度
  label4.Caption := floattostr(VarComplexAbs(b));    // 1.0

// 改めて確認すると
  label5.Caption := floattostr(b.Real);          // -0.601815..
  label6.Caption := floattostr(b.Imaginary);     //  0.798635..


[9133] Re:そういうことか。返信 削除
2015/8/26 (水) 19:02:47 Mr.XRAY
▼ takiさん

着々と進んでいるよですね.
なんにもお役に立てなくてスミマセン.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82