Niestety wśród dostępnych funkcji brakuje umożliwiającej wyznaczenie argumentu liczby zespolonej. Konieczne staje się skorzystanie ze wzoru
Ml)]
Re(z)J
<P= a tg
wyznaczającego tą wartość.
atan(imag(c),real(c)) // argument w radianach
ans =
1.2490458
atand(imag(c),real(c)) // argument w stopniach
ans =
71.565051
Należy jednak pamiętać, że w sytuacji gdy licznik lub mianownik jest ujemny możemy uzyskać błędny wynik, podobnie jak w sytuacji gdy oba są ujemne. Uzyskana wartość kąta obarczona jest błędem równym 180 stopni.
zl=-10+20*%i zl =
- 10. + 20.i z2=10-20*%i
z2 =
arg_zl=atand(imag(zl)/real(zl)) arg_zl =
- 63.434949
arg_z2=atand(imag(z2)/real(z2)) arg_z2 -
- 63.434949
Uzyskano w obu przypadkach tą samą wartość kąta, przy czym prawidłowo obliczona jest wartość argumentu liczby zespolonej z2, co obrazuje rysunek 1.2.
arg_zl=arg_zl+180 // korekta argument zl
arg_zl =
116.56505
W takiej sytuacji warto napisać własną funkcję realizującą prawidłowe obliczanie argumentu liczby zespolonej. Zagadnienia programowania w środowisku Scilab omówione zostaną w rozdziale 2.