Narzędzia użytkownika

Narzędzia witryny


liczby_zespolone_complex

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
liczby_zespolone_complex [2008/11/09 17:33]
lromanow
liczby_zespolone_complex [2008/11/09 19:13]
lromanow
Linia 11: Linia 11:
  
 <code cpp> <code cpp>
-   ​complex<​float> cplx_one; ​              // wartość 0 + 0i +   ​complex<​double> cplx_one; ​              // wartość 0 + 0i 
-   ​complex<​float> cplx_two(3.14); ​        // wartość 3.14 + 0i +   ​complex<​double> cplx_two(3.14); ​        // wartość 3.14 + 0i 
-   ​complex<​float> cplx_three(1.5,​ 3.14)   // wartość 1.5 + 3.14i +   ​complex<​double> cplx_three(1.5,​ 3.14)   // wartość 1.5 + 3.14i 
-   ​complex<​float> cplx_four(cplx_two); ​   // wartość również 3.14 + 0i+   ​complex<​double> cplx_four(cplx_two); ​   // wartość również 3.14 + 0i
 </​code>​ </​code>​
  
Linia 33: Linia 33:
  
 <code cpp> <code cpp>
-   ​complex<​float> cplx_five = conj(cplx_four);​+   ​complex<​double> cplx_five = conj(cplx_four);​
 </​code>​ </​code>​
  
Linia 41: Linia 41:
  
 <code cpp> <code cpp>
-   // poniższy kod powinien dać ten sam rezulatat 
    cout << cplx_one.real() << "​+"​ << cplx_one.imag() << "​i"​ << endl;    cout << cplx_one.real() << "​+"​ << cplx_one.imag() << "​i"​ << endl;
    cout << real(cplx_one) ​ << "​+"​ << imag(cplx_one) ​ << "​i"​ << endl;    cout << real(cplx_one) ​ << "​+"​ << imag(cplx_one) ​ << "​i"​ << endl;
Linia 51: Linia 50:
  
 <code cpp> <code cpp>
-   cout << cplx_one + cplx_two << endl;     ​// wartość ​??? +   cout << cplx_one + cplx_two << endl;            // wartość ​4.64+3.14i 
-   cout << cplx_one - 3.14 << endl;         ​// wartość ​??? +   cout << cplx_one - 3.14 << endl;                // wartość ​-1.64+3.14i 
-   cout << 2.75 * cplx_two << endl;         ​// wartość ​??? +   cout << 2.75 * cplx_two << endl;                // wartość ​8.635+0i 
-   ​cplx_one += cplx_three / 2.0;            // wartość ​???+   cout << (cplx_one += cplx_three / 2.0) << endl; // wartość ​2.585+3.14i
 </​code>​ </​code>​
  
Linia 60: Linia 59:
  
 <code cpp> <code cpp>
-   cout << -cplx_one << endl;               ​// wartość ​???+   cout << -cplx_one << endl;                      // wartość ​-2.585-3.14i
 </​code>​ </​code>​
  
Linia 68: Linia 67:
  
 <code cpp> <code cpp>
-   cout << cplx_one == cplx_three << endl;  // wartość ​false +   cout << ​(cplx_one == cplx_three<< endl;  // wartość ​0 (fałsz) 
-   cout << cplx_one != cplx_three << endl;  // wartość ​true+   cout << ​(cplx_one != cplx_three<< endl;  // wartość ​1 (prawda)
 </​code>​ </​code>​
  
-Liczby zespolone nie mogą być porównywane za pomocą innych operatorów.+Liczby zespolone nie mogą być porównywane za pomocą innych operatorów, niedostępne są operatory porządkujące.
  
 ===== Strumienie I/O ===== ===== Strumienie I/O =====
Linia 90: Linia 89:
  
 <code cpp> <code cpp>
-   cout << cplx_four << " w postaci biegunowej wynosi"​ +   cout << cplx_four << " w postaci biegunowej wynosi " 
-        << abs(cplx_four) << "e-" << arg(cplx_four) << endl;+        << abs(cplx_four) << "e^" << arg(cplx_four) ​<< "​i"​<< endl;
 </​code>​ </​code>​
  
 ===== Funkcje trygonometryczne ===== ===== Funkcje trygonometryczne =====
  
-Funkcje tryugonometryczne zdefiniowane dla typów zmiennoprzecinkowych zostały rozszerzone dla liczb zespolonych. Dotyczy to funkcji ''​sin()'',​ ''​cos()'',​ ''​tan()'',​ ''​sinh()'',​ ''​cosh()''​ i ''​tanh()''​. Każda z nich bierze jako argument liczbę zespoloną **complex** i zwraca ​podobnie ​liczbę zespoloną.+Funkcje tryugonometryczne zdefiniowane dla typów zmiennoprzecinkowych zostały rozszerzone dla liczb zespolonych. Dotyczy to funkcji ''​sin()'',​ ''​cos()'',​ ''​tan()'',​ ''​sinh()'',​ ''​cosh()''​ i ''​tanh()''​. Każda z nich bierze jako argument liczbę zespoloną **complex** i zwraca ​również ​liczbę zespoloną.
  
 ===== Inne funkcje ===== ===== Inne funkcje =====
  
-Podobnie jak funkcje trygonometryczne funkcje ''​exp()'',​ ''​log()'',​ ''​log10()''​ i ''​sqrt()''​ zostały rozszerzone dla liczb zespolonych. Jako argument biorą ​liczbę ​''​**complex**''​ i zwracają również ''​**complex**''​.+Podobnie jak funkcje trygonometryczne funkcje ''​exp()'',​ ''​log()'',​ ''​log10()''​ i ''​sqrt()''​ zostały rozszerzone dla liczb zespolonych. Jako argument biorą ​obiekt ​''​**complex**''​ i zwracają również ​obiekt ​''​**complex**''​.
  
-Biblioteka standardowa definiuje kilka wersji funkcji ''​pow()''​. Istnieją osobne definicje dotyczące podnoszenia liczb zespolonych do wartości całkowitej,​ zespolonej i rzeczywistej. Podobnie można podnosić wartość ​rzczywistą do wartości ''​**complex**''​.+Biblioteka standardowa definiuje kilka wersji funkcji ''​pow()''​. Istnieją osobne definicje dotyczące podnoszenia liczb zespolonych do wartości całkowitej,​ zespolonej i rzeczywistej. Podobnie można podnosić wartość ​rzeczywistą do wartości ''​**complex**''​. 
 + 
 +===== Przykładowy program ===== 
 + 
 +Poniższa funkcja oblicza pierwiastki kwadratowe równania o współczynnikach zespolonych. 
 + 
 +<code cpp> 
 +#include <​complex>​ 
 +#include <​utilities>​ 
 + 
 +typedef complex<​double>​ Complex; 
 + 
 +pair<​Complex,​ Complex> roots (Complex a, Complex b, Complex c) 
 +
 +   ​Complex root = sqrt(b * b - 4.0 * a * c); 
 +   a *= 2.0; 
 +   ​return make_pair( 
 +      (-b + root)/a,  
 +      (-b - root)/a 
 +   ); 
 +
 +</​code>​
  
 \\ \\
 ---- ----
 [[start]] >> [[biblioteka_standardowa]] [[start]] >> [[biblioteka_standardowa]]
liczby_zespolone_complex.txt · ostatnio zmienione: 2008/11/10 18:31 przez lromanow