Bonjour,
J'ai des soucis pour afficher un nombre complexe sous forme polaire.Je m'explique: j'ai réalisé le premier exemple suivant
Les résultats sont corrects
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 use strict; use Math::Complex; my $z1=cplxe(1,pi/4); print "z1=$z1\n"; $z1->display_format('style'=>'cartesian', 'format'=>'%.3f'); print "z1=$z1\n";
Le deuxième exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 z1=[1,pi/4] z1=0.707+0.707i
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 use strict; use Math::Complex; my $z1=cplx(1,1); print "z1=$z1\n"; $z1->display_format('style'=>'polar'); print "z1=$z1\n"; $z1->display_format('style'=>'polar','polar_pretty_print'=>0); print "z1=$z1\n";
Les résultats sont
Je souhaite maintenant limiter le nombre de décimales à 3, pour cela je rajoute 'format'=>'%.3f'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 z1=1+i z1=[1.4142135623731,pi/4] z1=[1.4142135623731,0.785398163397448]
Les résultats sont:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 use strict; use Math::Complex; my $z1=cplx(1,1); print "z1=$z1\n"; $z1->display_format('style'=>'polar'); print "z1=$z1\n"; $z1->display_format('style'=>'polar','polar_pretty_print'=>0); print "z1=$z1\n"; $z1->display_format('style'=>'polar','polar_pretty_print'=>0,'format'=>'%.3f'); print "z1=$z1\n";
Je n'obtiens pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 z1=1+i z1=[1.4142135623731,pi/4] z1=[1.4142135623731,0.785398163397448] Use of uninitialized value in sprintf at C:/Perl/lib/Math/Complex.pm line 1463. Use of uninitialized value in sprintf at C:/Perl/lib/Math/Complex.pm line 1463. z1=[1.414,0.000]
Merci de m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part z1=[1.414,0.785]
Partager