En tout cas c'est comme cela que je l'enseigne en bts.
Mais avec les stat les avis divergent assez vite.
A toutes fins utiles voici un programme qui retourne l'intervalle de confiance.
Il est écrit en langage Xcas (proche Maple, C++) et en français. Tous les cas sont envisagés.
// mu:moyenne échantillon;sigma:écart-type échantillon ou population s'il est connu
//n:taille échantillon;alpha:risque;sconnu=1 si écart-type population connu, 0 sinon (cas général)
//retourne l'intervalle de confiance et affiche l'interprétation graphique de t
IntervalleConfianceMoyenne(mu,sigma,n,alpha,sconnu):={
local E,t,g,d,x;purge(x);ClrGraph;
si sconnu==1 alors
E:=sigma
sinon
E:=sigma*sqrt(n/(n-1))
fsi;
si n>30 ou (n<30 et sconnu==1) alors
t:=normal_icdf(1-alpha/2);
titre="Densité de la loi normale centrée réduite",
tracer_aire(normald(x),x=-5..-t,affichage=nom_cache+44),
tracer_aire(normald(x),x=t..5,affichage=nom_cache+44),
graphe(normald(x),affichage=epaisseur_ligne_3),
legende(point(-t,0),-t,quadrant3),legende(point(t,0),t,quadrant4)
sinon
t:=student_icdf(n-1,1-alpha/2);
titre="Densité de la loi de Student à "+(n-1)+" degrés de libertés",
tracer_aire(student(n-1,x),x=-10..-t,affichage=nom_cache+44),
tracer_aire(student(n-1,x),x=t..10,affichage=nom_cache+44),
graphe(student(n-1,x),affichage=epaisseur_ligne_3),
legende(point(-t,0),-t,quadrant3),legende(point(t,0),t,quadrant4)
fsi
g:=evalf(mu-t*E/sqrt(n),3);
d:=evalf(mu+t*E/sqrt(n),3);
afficher("t="+evalf(t,3));
legende(point(-t,-0.1,affichage=point_invisible),"la surface totale grisée est égale au risque soit "+alpha)
//retourne [g,d] //liste des bornes
retourne g..d //intervalle en syntaxe xcas
}