Hi,
result of code
x=3*cos(pi)+3*sin(pi)*i
is -3.0000 0.0000i.
But result of this code
x=3*cosd(180)+3*sind(180)*i
is -3.
Why result of second code is not in form -3.0000 0.0000i.???
How can I do this without transformation from deg to rad???
Thank you
x=3*cos(pi)+3*sin(pi)*

1 件のコメント

Matt Kindig
Matt Kindig 2013 年 2 月 18 日
編集済み: Matt Kindig 2013 年 2 月 18 日
In short, numerical precision. In the first case, MATLAB represents sin(pi) as 3.6739e-16 (on my x64 machine), while in the second case, sind(180) is identically zero. Both are equivalent.

サインインしてコメントする。

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 2 月 18 日
編集済み: Azzi Abdelmalek 2013 年 2 月 18 日

0 投票

Because of precision problem with pi
sin(pi)=1.2246e-16
and
sind(180)=0

その他の回答 (1 件)

Youssef  Khmou
Youssef Khmou 2013 年 2 月 18 日
編集済み: Youssef Khmou 2013 年 2 月 18 日

0 投票

hi Jhon,
i can not say why using cosd and sind gives only double not complex, but you can use exponential representation which is commonly used in Elec,Eng :
R= Magnitude * exp(j* Angle ) in radian
r=3*exp(j*pi)

1 件のコメント

Youssef  Khmou
Youssef Khmou 2013 年 2 月 18 日
ok then its about precision

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange で Trigonometry についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by