Bonjour,
Je débute et j'essaie de définir une fonction qui calcule une intégrale. mais voila, ca ne travaille pas bien, je ne comprends pas pourquoi. J'ai fait une capture d'écran
Avec la fonction ca donne +inf au lieu de 0.5
Merci d'avance et désolé de débuter
Maurice
[Débutant] définir une fonction
Modérateur : xcasadmin
[Débutant] définir une fonction
- Pièces jointes
-
- capture d'écran
- window.png (5.64 Kio) Consulté 4802 fois
-
- Messages : 1139
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: [Débutant] définir une fonction
Bonsoir,
je pense qu'il faut retirer le t dans la declaration:
local
en effet, si on insere un print(t) entre le local et l'integrale, on voit qu'il est affecte a 0 et du coup il n'est pas utilise comme variable muette dans l'integrale.
Frederic
je pense qu'il faut retirer le t dans la declaration:
local
en effet, si on insere un print(t) entre le local et l'integrale, on voit qu'il est affecte a 0 et du coup il n'est pas utilise comme variable muette dans l'integrale.
Frederic
Re: [Débutant] définir une fonction
Merci effectivement, j'avais ajouté le local t car, lorsque l'on appuie sur F9 le message suivant apparaissait :
Merci
à plus tard pour d'autres question de débutant !
Maurice
Code : Tout sélectionner
// Parsing loinormale
// Warning: t, declared as global variable(s) compiling loinormale
à plus tard pour d'autres question de débutant !
Maurice
Re: [Débutant] définir une fonction
Pour éviter le warning, vous pouvez aussi faire purge(t) après la déclaration local t;
Avec les versions en tests de xcas, vous pouvez aussi utiliser la déclaration global t;
Avec les versions en tests de xcas, vous pouvez aussi utiliser la déclaration global t;
Re: [Débutant] définir une fonction
Bonjour,
Et merci pour votre aide,
elle m'a permis de construire une table de la loi normale dans un document latex en m'inspirant des travaux de Guillaume Conan.
Voici le code :
Je suis bien sur preneur pour tout commentaire et remarque qui pourrait me faire progresser et améliorer le code.
Le valeurs des dernières lignes diffèrent de celles trouvées sur Wikipédia. sans doute à cause d'arrondis (sur wikipédia bien sur).
merci encore
Edit : le message avec le code latex ne passe pas : j'ai le message :
Et merci pour votre aide,
elle m'a permis de construire une table de la loi normale dans un document latex en m'inspirant des travaux de Guillaume Conan.
Voici le code :
Code : Tout sélectionner
code du document latex
Le valeurs des dernières lignes diffèrent de celles trouvées sur Wikipédia. sans doute à cause d'arrondis (sur wikipédia bien sur).
merci encore
Edit : le message avec le code latex ne passe pas : j'ai le message :
Voici donc la procédure principale :Method Not Implemented
POST to /XCAS/posting.php not supported.
Apache/2.2.0 (Fedora) Server at pcm1.e.ujf-grenoble.fr Port 80
Code : Tout sélectionner
loinormale(L):={
local x, dx, dy, I, T, k, p, c;
x:=L[0];
dx:=L[1];
dy:=L[2];
c:=floor(dy/dx)+1;
T:="\\begin{tabular}{*{"+c+"}{|c}|}
\\hline";
for(p:=0; p<=x; p:=p+dy){
if(p==0)then{
for(k:=0; k<=dy; k:=k+dx){
if(k==0)then{T:=T+"\\cellcolor{yellow} \\backslashbox{$n$}{$p$} &"}
else{
if(k==dy)then{T:=T+"\\cellcolor{yellow} \\numprint{"+eval(k-dx)+"} \\\\\\hline"}
else{T:=T+"\\cellcolor{yellow} \\numprint{"+eval(k-dx)+"} &"}
}
}}
else{
for(k:=0; k<=dy; k:=k+dx){
if(k==0)then{T:=T+"\\cellcolor{yellow} \\numprint{"+eval(p-dy)+"} &"}
else{
I:=evalf(integrate((exp(-0.5*t^2))/sqrt(2*pi),t,-infinity,(p-dy)+(k-dx)));
if(k==dy)then{T:=T+"\\numprint{"+round(I,5)+"} \\\\\\hline"}
else{T:=T+"\\numprint{"+round(I,5)+"} &"}
}
}}
}
T:=T+"\\end{tabular}";
}
:;