infini symbolique
Modérateur : xcasadmin
infini symbolique
Dans un programme:
"S=]"+ -inf +","+ inf +"[" renvoie S=]-infinity,+(infinity)[
Est-il possible d'avoir l'intervalle avec des infinis symboliques ?
"S=]"+ -inf +","+ inf +"[" renvoie S=]-infinity,+(infinity)[
Est-il possible d'avoir l'intervalle avec des infinis symboliques ?
Re: infini symbolique
Je ne comprends pas la question, peut-etre que si vous donniez votre programme, le contexte m'aiderait.
S'il s'agit de pouvoir ecrire des intervalles sous la forme ]a,b[, ce n'est pas possible (sauf sous forme de chaine de caracteres) puisque ] est un delimiteur fermant de liste, il ne peut etre en premier.
Concernant les infinis, il y en a 3: infinity (complexe), +infinity et -infinity (reels) et des abbreviations (compatibles maxima) inf et -inf pour les deux derniers.
S'il s'agit de pouvoir ecrire des intervalles sous la forme ]a,b[, ce n'est pas possible (sauf sous forme de chaine de caracteres) puisque ] est un delimiteur fermant de liste, il ne peut etre en premier.
Concernant les infinis, il y en a 3: infinity (complexe), +infinity et -infinity (reels) et des abbreviations (compatibles maxima) inf et -inf pour les deux derniers.
Re: infini symbolique
J'ai écrit un programme qui renvoie les solutions d'une inéquation du second degré à l'aide d'intervalles.
J'obtiens ce que je veux sous la forme S=]-infinity,3]U[5,+(infinity)[ par exemple
je veux simplement savoir si on peut obtenir -infinity sous la forme symbolique avec ce genre de fonction:
J'obtiens ce que je veux sous la forme S=]-infinity,3]U[5,+(infinity)[ par exemple
je veux simplement savoir si on peut obtenir -infinity sous la forme symbolique avec ce genre de fonction:
Code : Tout sélectionner
Pgm():={local a,b;a:=3;b:=5;"S=]"+ -inf +","+a+"]U["+b+","+ inf+"["}:;
Re: infini symbolique
je ne comprends toujours pas bien, dans votre programme vous retournez une chaine de caractères, donc vous pouvez renvoyer ce que vous voulez, ici donc une union d'intervalles écrits en notation mathématique (à la française). Par contre bien sur une telle chaine de caractères ne pourra pas être syntaxiquement correcte.
Re: infini symbolique
Il s'agit d'un programme sans grand intérêt pour l'instant vu les répétitions (l'idée était de reprendre toutes les positions d'une parabole):
On fait par exemple
pour obtenir S=]-infinity,-1]U[7/2,+(infinity)[
et donc je me demandais si au lieu de -infinity et +infinity on pouvait obtenir leurs écritures mathématiques
(comme si on avait tapé -inf en ligne de commande)
Code : Tout sélectionner
IneqDeg2(E,sg):={
local sol,c;
sol:=solve(E);
c:=coeff(E,x,2);
si sg=='>' alors
si size(sol)==0 alors
si c>0 alors retourne "S=]"+-inf+","+inf+"[";fsi;
si c<0 alors retourne "l'inéquation n'a pas de solution";fsi;
fsi;
si size(sol)==1 alors
si c>0 alors retourne "S=]"+-inf+","+sol[0]+"[U]"+sol[0]+","+inf+"[";fsi;
si c<0 alors retourne "l'inéquation n'a pas de solution";fsi;
fsi;
si size(sol)==2 alors
si c>0 alors retourne "S=]"+-inf+","+min(sol)+"[U]"+max(sol)+","+inf+"[";fsi;
si c<0 alors retourne "S=]"+min(sol)+","+max(sol)+"[";fsi;
fsi;
fsi;
si sg=='>=' alors
si size(sol)==0 alors
si c>0 alors retourne "S=]"+-inf+","+inf+"[";fsi;
si c<0 alors retourne "l'inéquation n'a pas de solution";fsi;
fsi;
si size(sol)==1 alors
si c>0 alors retourne "S=]"+-inf+","+inf+"[";fsi;
si c<0 alors retourne "l'inéquation a une seule solution: x="+sol[0];fsi;
fsi;
si size(sol)==2 alors
si c>0 alors retourne "S=]"+-inf+","+min(sol)+"]U["+max(sol)+","+inf+"[";fsi;
si c<0 alors retourne "S=["+min(sol)+","+max(sol)+"]";fsi;
fsi;
fsi;
si sg=='<' alors
si size(sol)==0 alors
si c>0 alors retourne "l'inéquation n'a pas de solution";fsi;
si c<0 alors retourne "S=]"+-inf+","+inf+"[";fsi;
fsi;
si size(sol)==1 alors
si c>0 alors retourne "l'inéquation n'a pas de solution";fsi;
si c<0 alors retourne "S=]"+-inf+","+sol[0]+"[U]"+sol[0]+","+inf+"[";fsi;
fsi;
si size(sol)==2 alors
si c<0 alors retourne "S=]"+-inf+","+min(sol)+"[U]"+max(sol)+","+inf+"[";fsi;
si c>0 alors retourne "S=]"+min(sol)+","+max(sol)+"[";fsi;
fsi;
fsi;
si sg=='<=' alors
si size(sol)==0 alors
si c<0 alors retourne "S=]"+-inf+","+inf+"[";fsi;
si c>0 alors retourne "l'inéquation n'a pas de solution";fsi;
fsi;
si size(sol)==1 alors
si c<0 alors retourne "S=]"+-inf+","+inf+"[";fsi;
si c>0 alors retourne "l'inéquation a une seule solution: x="+sol[0];fsi;
fsi;
si size(sol)==2 alors
si c<0 alors retourne "S=]"+-inf+","+min(sol)+"]U["+max(sol)+","+inf+"[";fsi;
si c>0 alors retourne "S=["+min(sol)+","+max(sol)+"]";fsi;
fsi;
fsi;
}
:;
Code : Tout sélectionner
IneqDeg2(-2x^2+5x+7,'<=')
et donc je me demandais si au lieu de -infinity et +infinity on pouvait obtenir leurs écritures mathématiques
(comme si on avait tapé -inf en ligne de commande)
Re: infini symbolique
Ok, j'ai compris, vous voulez simplement le caractere infini, il suffit donc de recopier le caractere UTF8 ∞ dans votre chaine.
Re: infini symbolique
Pas très fier d'avoir posé une question aussi idiote....
Je poste mon idée d'exercice dans le forum enseignement.

Je poste mon idée d'exercice dans le forum enseignement.