// ------------------------------------
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がどんな値をとっても・・・ですよね。
|