Moduł Math::Complex
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaSpis treści
Moduł math::Complex.
Co to jest?
Moduł Math::Complex umożliwia działanie na liczbach zespolonych. Udostępnia funkcje Re oraz Im które zwracają odpowiednio część całkowitą i urojoną liczby podanej jako argument, a także stałą i przechowującą wartość i. Moduł przeciąża także wbudowane funkcje takie jak m.in.: sqrt aby działały na liczbach zespolonych.
Moduł Math::Complex umożliwia zapisanie liczby zespolonej w dwóch postaciach:
- algebraicznej (cartesian) - czyli w postaci a + b * i
- trygonometrycznej (polar) - w postaci rho + exp(i * theta), gdzie rho to odległość punktu o współrzędnych (a,b) od punktu (0,0), a theta to kąt w radianach między prostą przechodzącą przez punkty (0,0) i (a,b) a osią X.
Przykład użycia.
Tworzenie liczb zespolonych:
use Math::Complex;
#tworzenie liczby zespolonej, korzystając z postaci algebraicznej
$x = Math::Complex->make(3,4);
$y = cplx($x,2);
$z = 1+2*i;
#tworzenie liczby zespolonej, korzystając z postaci trygonometrycznej
$xt = Math::Complex->emake(3,pi/4);
$yt = cplxe("[2,-3pi/4]");
Jak widać jako argumentów funkcji make, cplx, emake, cplxe można używać liczb zespolonych. Dopuszczalne jest również używanie pojedynczych łańcuchów znaków zawierających liczbę zespoloną.
Działania na liczbach zespolonych:
print "Czesc calkowita liczby x: ",Re($x),"\n";
print "Czesc urojona liczby x:",Im($x),"\n";
print "Rho liczby x:",abs($x),"\n";
print "Theta liczby x:",arg($x),"\n";
print "Liczba i",i,"\n"
print "sqrt(-1): ",sqrt(-1),"\n";
print "sqrt(y): ",sqrt($y),"\n";
Formatowania zapisu liczby zespolonej:
#zapis trygonometryczny
$x->display_format(style => "cartesian");
print $x,"\n";
#zapis algebraiczny
$xt->display_format(style => "polar");
print $xt,"\n";
#możemy rowniez zazyczyć sobie aby liczby były wyswietlane z 5 miejscami po przecinku
$y->display_format(format => "%.5f");
Dokumentacja
- Więcej na ten temat: http://search.cpan.org/~nwclark/perl-5.8.8/lib/Fatal.pm
Kontakt i informacje o autorze opracowania
Autor: P.S.
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.