Outils d'utilisateurs

Outils du Site


complex

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

complex [2015/07/01 02:28]
gbdivers
complex [2020/10/06 19:10] (Version actuelle)
gbdivers
Ligne 1: Ligne 1:
  
-^ [[virgule_fixe|Chapitre précédent]] ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ [[ratio|Chapitre suivant]] ^ 
  
-====== Les nombres complexes ======+<note warning>Ce cours n'est plus à jour, il est préférable de ne pas le suivre. Je vous recommande le cours sur Zeste de Savoir : https://zestedesavoir.com/tutoriels/822/la-programmation-en-c-moderne/.</note>
  
-===== Rappels mathématiques ===== 
  
-https://fr.wikipedia.org/wiki/Nombre_complexe 
- 
-===== Nombres complexes en C++ ===== 
- 
-<code cpp main.cpp> 
-#include <iostream> 
-#include <complex> 
-using namespace std::literals; 
- 
-int main() { 
-    std::cout << "i * i = " << (1.0i * 1.0i) << std::endl; 
-    std::cout << "2+3i = " << (2.0 + 3.0i) << std::endl; 
-} 
-</code> 
- 
-affiche : 
- 
-<code> 
-i * i = (-1,0) 
-(2,3) 
-</code> 
- 
-1. vérifie que i² = -1 
-2. notation dans la console : affiche (reel, imaginaire) 
- 
-Note : création d'un type masqué : ''std::complex<double>'' 
- 
-Remarque : on peut additionner un réel et un complexe, mais pas un entier et un complexe : 
- 
-<code cpp main.cpp> 
-#include <iostream> 
-#include <complex> 
-using namespace std::literals; 
- 
-int main() { 
-    std::cout << (1 + (2.0 + 3.0i)) << std::endl; 
-} 
-</code> 
- 
-affiche (et beaucoup de messages ensuite) : 
- 
-<code> 
-main.cpp: In function 'int main()': 
-main.cpp:6:21: error: no match for 'operator+' (operand types are 'int' and 'std::complex<double>') 
-     std::cout << (1 + (2.0 + 3.0i)) << std::endl; 
-                     ^ 
-</code>    
- 
-En utilisant un réel (notez bien le point ajouté sur 1) : 
-                   
-<code cpp main.cpp> 
-#include <iostream> 
-#include <complex> 
-using namespace std::literals; 
- 
-int main() { 
-    std::cout << (1.0 + (2.0 + 3.0i)) << std::endl; 
-} 
-</code> 
- 
-affiche (et beaucoup de messages ensuite) : 
- 
-<code> 
-(3,3) 
-</code>   
- 
-Fonctions : 
- 
-<code cpp main.cpp> 
-#include <iostream> 
-#include <complex> 
-using namespace std::literals; 
- 
-int main() { 
-    std::cout << real(2.0 + 3.0i) << std::endl; 
-    std::cout << imag(2.0 + 3.0i) << std::endl; 
-    std::cout << abs(2.0 + 3.0i) << std::endl; 
-    std::cout << arg(2.0 + 3.0i) << std::endl; 
-    std::cout << norm(2.0 + 3.0i) << std::endl; 
-    std::cout << conj(2.0 + 3.0i) << std::endl; 
-    std::cout << proj(2.0 + 3.0i) << std::endl; 
-    std::cout << polar(2.0 + 3.0i) << std::endl; 
-} 
-</code> 
- 
-affiche : 
- 
-<code> 
-2 
-3 
-3.60555 
-0.982794 
-13 
-(2,-3) 
-(2,3) 
-((2,3),(0,0)) 
-</code> 
- 
-Note : plusieurs notation pour i : ''i'' pour double (réels 64b), ''if'' pour les floats (réels 32b) et ''il'' pour les long double (128b) 
- 
- 
-^ [[virgule_fixe|Chapitre précédent]] ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ [[ratio|Chapitre suivant]] ^ 
complex.1435710491.txt.gz · Dernière modification: 2015/07/01 02:28 par gbdivers