Narzędzia użytkownika

Narzędzia witryny


liczby_zespolone_complex

To jest stara wersja strony!


Liczby zespolone <complex>

Klasa szablonowa complex służy do reprezentacji i manipulacji liczbami zespolonymi. Operacje zdefiniowane na liczbach zespolonych pozwalają na swobodne mieszanie obiektów tej klasy z wbudowanymi typami numerycznymi. Należy zauważyć, że większość operacji wykonywanych na obiektach tej klasy to zwykłe funkcje. Wyjątkami są metody real() i imag() należące do klasy complex.

Deklaracja liczb zespolonych

Argument szablonu określa typ związany z wartościami części rzeczywistej i urojonej obiektu. Ten argument musi być jednym z trzech dostępnych typów zmiennoprzecinkowych float, double lub long double.

Dostępne są cztery konstruktory. Konstruktor bezparametrowy inicjalizuje obie części liczby zespolonej wartością zero. Konstruktor jednoargumentowy incjalizuje wartością parametru część rzeczywistą i zeruje urojoną. Konstruktor dwuargumentowy inicjalizuje obie części liczby zespolonej. Ostatecznie, konstruktor kopiujący pozwala inicjalizować obiekt wartościami innego dostępnego obiektu klasy.

   complex<float> cplx_one;               // wartość 0 + 0i
   complex<float> cplx_two(3.14);         // wartość 3.14 + 0i
   complex<float> cplx_three(1.5, 3.14)   // wartość 1.5 + 3.14i
   complex<float> cplx_four(cplx_two);    // wartość również 3.14 + 0i

Liczbie zespolonej complex można przypisać wartość innej liczby zespolonej. Ponieważ konstruktor jednoargumentowy jest również wykorzystywany jako operator konwersji, można przypisać liczbie zespolonej wartość rzeczywistą.

   cplx_one = cplx_three;                 // staje się 1.5 + 3.14i
   cplx_three = 2.17;                     // staje się 2.17 + 0i

Funkcja polar() może służyć do konstrukcji liczby zespolonej dla danego modułu i kąta.

   cplx_four = polar(5.6, 1.8);

Wartość sprzężona powstaje z użyciem funkcji conj().

   complex<float> cplx_five = conj(cplx_four);

biblioteka_standardowa

liczby_zespolone_complex.1226241613.txt.gz · ostatnio zmienione: 2008/11/09 15:40 przez lromanow