Voici le code sur lequel je travaille : je veux représenter la loi de Planck pour le corps noir dont je rappelle l'expression
$ \varphi_{\lambda}(\lambda,T)=\frac{2\pi hc^2}{\lambda^5}\frac{1}{\exp\left( \frac{hc}{\lambda k_B T} \right) - 1} $
L'application numérique correspond à des nombres grands (qq $ 10^{14} $), d'où la valeur du ymax de mon code ci-dessous.
- Code: Tout sélectionner
[xmax:=3*10^(-6),ymax:=2.5*10^14,
view(0,xmax,0,ymax),size(15), Width:=6, Arrows:=1,
LabelSize:=normalsize,
axeY(0,0), axeX(0,0),
LabelAxe(x,xmax,"$\lambda$",[2]),
LabelAxe(y,ymax*i,"$\varphi_\lambda$",[1]),
h:=6.62*10^(-34),c:=3*10^8,kB:=1.38*10^(-23),
Width:=12,Arrows:=0,
tMin:=0, tMax:=xmax,
Color:=gold,
LineStyle:=solid,
T1:=6000,
Cartesienne((2*10^(-1)*pi*h*c^2)/x^5 * (1/(exp(h*c/(kB*T1*x))-1))),
Lm1:=(2898/T1)*10^(-6),
Pm1:=((2*pi*h*c^2)/(Lm1^5)) * (1/(exp(h*c/(kB*T1*Lm1))-1)),
LabelDot(Lm1+i*Pm1,"$T_1$","E",0),
Color:=crimson,
LineStyle:=solid,
T0:=5000,
Cartesienne((2*pi*h*c^2)/x^5 * (1/(exp(h*c/(kB*T0*x))-1))),
Lm0:=(2898/T0)*10^(-6),
Pm0:=((2*pi*h*c^2)/(Lm0^5)) * (1/(exp(h*c/(kB*T0*Lm0))-1)),
LabelDot(Lm0+i*Pm0,"$T_0$","E",0),
Color:=navy,
LineStyle:=solid,
T2:=7000,
Cartesienne((2*pi*h*c^2)/x^5 * (1/(exp(h*c/(kB*T2*x))-1))),
Lm2:=(2898/T2)*10^(-6),
Pm2:=((2*pi*h*c^2)/(Lm2^5)) * (1/(exp(h*c/(kB*T2*Lm2))-1)),
LabelDot(Lm2+i*Pm2,"$T_2$","E",0),
{Bricolage Loi de Wien}
LineStyle:=dashed, Color:=gainsboro,
T3:=4900,Lm3:=(2898/T3)*10^(-6),
Pm3:=((2*pi*h*c^2)/(Lm3^5)) * (1/(exp(h*c/(kB*T3*Lm3))-1)),
T4:=10000,Lm4:=(2898/T4)*10^(-6),
Pm4:=((2*pi*h*c^2)/(Lm4^5)) * (1/(exp(h*c/(kB*T4*Lm4))-1)),
Bezier(Lm2+i*Pm2,Lm1+i*Pm1,Lm0+i*Pm0),
Ligne([Lm4+i*Pm4,Lm2+i*Pm2],0),
Ligne([Lm0+i*Pm0,Lm3+i*Pm3],0),
]
Le problème est que lorsque j'exporte en pgf, Latex plante à la compilation (apparemment parce que les nombres à manipuler sont trop gros). Voici un extrait du .log associé
- Code: Tout sélectionner
(./C_Thermo/Images_thermo/C2PlanckLambda.pgf
! Dimension too large.
<recently read> \pgf@xx
l.3 \pgfsetxvec{\pgfxy(4500000,0)}
! Number too big.
\pgftemp@y ->2500000000
00000
l.9 \pgfxyline(0,0)(0,250000000000000)
! Number too big.
\pgftemp@y ->2500000000
00000
l.9 \pgfxyline(0,0)(0,250000000000000)
! Number too big.
\pgftemp@y ->6666666666
666.667
l.12 ...b,1:red,0;green,0;blue,0}\normalsize $0$}}
\pgfstroke
! Number too big.
\pgftemp@y ->6666666666
666.667
l.12 ...b,1:red,0;green,0;blue,0}\normalsize $0$}}
\pgfstroke
! Number too big.
<argument> 2666666666
666.6675
l.16 ...-2666666666666.6675)(0,2666666666666.6675)
! Dimension too large.
<to be read again>
\relax
l.16 ...-2666666666666.6675)(0,2666666666666.6675)
! Number too big.
\pgftemp@y ->2666666666
666.6675
l.16 ...-2666666666666.6675)(0,2666666666666.6675)
! Number too big.
\pgftemp@y ->2666666666
666.6675
l.16 ...-2666666666666.6675)(0,2666666666666.6675)
Du coup, j'ai essayé de normaliser l'affichage en appliquant un facteur $ 10^{-14} $ sur la fonction cartésienne à tracer mais cela fait planter la fenêtre TeXgraph (Element graphique) lorsque que j'essaie de la valider. Bref, je ne vois pas trop comment m'en sortir!!
Par ailleurs, sur ce même travail, je voulais faire apparaître la loi de Wien, qui dit que l'abscisse $ \lambda_m $ correspondant au max des fonctions $ \varphi_{\lambda}(\lambda,T)=\frac{2\pi hc^2}{\lambda^5}\frac{1}{\exp\left( \frac{hc}{\lambda k_B T} \right) - 1} $, tracées pour différentes valeurs du paramètre T vérifie
$ \lambda_m\times T=2898*10^{-6} $
dans mon {Bricolage Loi de Wien} (cf code du fichier .teg)
J'essaie de faire passer une courbe par les qq points correspondant à ces maximum (calculés ici "à la main"). N'y a -t-il pas un moyen plus élégant de tracer cette branche d'hyperbole ? Ici, je suis bien consciente que c'est davantage un problème mathématique


D'avance merci pour vos réponses
Karine