π
<-

Les ensembles de definition de fonctions enfin sur OS 3.1

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

Re: Les ensembles de définition de fonctions enfin sur OS 3.

Unread postby davidElmaleh » 18 Nov 2012, 14:37

dans ce cas, AU BOULOO :p
Image
User avatar
davidElmalehProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 19.6%
 
Posts: 409
Images: 9
Joined: 14 Oct 2012, 23:30
Location: Paris 19
Gender: Male
Calculator(s):
MyCalcs profile
Class: PSI*

Re: Les ensembles de définition de fonctions enfin sur OS 3.

Unread postby davidElmaleh » 18 Nov 2012, 14:39

mais juste un chose
si f(x)=abs(sqrt(3x-2))
x peut etre égal a -2 par exmple ca donnerait
f(-2)=abs(sqrt(-8))
or, cela existe puisque c'est = sqrt(8)
Image
User avatar
davidElmalehProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 19.6%
 
Posts: 409
Images: 9
Joined: 14 Oct 2012, 23:30
Location: Paris 19
Gender: Male
Calculator(s):
MyCalcs profile
Class: PSI*

Re: Les ensembles de définition de fonctions enfin sur OS 3.

Unread postby Excale » 18 Nov 2012, 14:44

Oui, on est coincé avec les simplifications de la nspire.

Le code global:
Code: Select all
Define LibPub domain(f,x)=
Func
:© domain(expr,var)
:setMode(4,1)
:f:=warnCodes(solve(f^(2)≥0 and getDenom(f)≠0,x),x)
:f:=ifFn(f=true,"ℝ","∅",f)
:ifFn(dim(x)>0,[[f]["Warning:"&string(x)]],f)
:EndFunc
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: Les ensembles de définition de fonctions enfin sur OS 3.

Unread postby Laurae » 18 Nov 2012, 16:56

Bon, en tout cas c'est très bien :) peu de personnes auraient eu l'idée de mettre au carré la fonction et d'éliminer les zéros.

C'est en effet le cas selon ce qu'on peut lire sur mathematica, qui utilisent la combinaison de la fonction valeur absolue et la fonction reduce.
Si vous ne connaissez pas la fonction reduce (qui n'est pas présente sur la TI-Nspire), elle est assez simple à comprendre : reduce(blablabla) = solve(blablabla = 0)
En l'occurence, selon Mathematica, une méthode permettant d'obtenir le domaine de définition d'une fonction est de faire reduce(abs(blablabla)), ce qui est (sûrement) équivalent au solve(blablabla au carré = 0), si on fait exit les problèmes de valeur absolue pouvant être générés par la calculatrice.
Ensuite, on laisse le calcul formel prendre le pas avec solve ou reduce (cette dernière n'est pas présente sur les Nspire).
User avatar
LauraeAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 78.8%
 
Posts: 1685
Images: 22
Joined: 25 Jun 2010, 00:00
Location: France, La Défense
Gender: Male
Calculator(s):
MyCalcs profile
Class: Professeur, Etudiant, Formateur

Re: Les ensembles de définition de fonctions enfin sur OS 3.

Unread postby Bisam » 19 Nov 2012, 08:41

Je viens de trouver un léger défaut de ce programme (heureusement facile à corriger).

Il y a un problème lorsque des limites sont calculables et valent +oo ou -oo aux bornes de l'ensemble, sans qu'il y ait de dénominateur. C'est notamment le cas typique de :
Code: Select all
ln(abs(x))
en x=0.

La fonction "domain", telle qu'elle est codée ci-dessus par Excale, renvoie "R" comme ensemble de définition, sans warning, alors que c'est faux puisqu'il faut exclure x=0.

Il suffit de corriger le code en :
Code: Select all
Define LibPub domain(f,x)=
Func
:© domain(expr,var)
:setMode(4,1)
:f:=warnCodes(solve(f^(2)≥0 and getDenom(f)≠0 and f^2≠∞,x),x)
:f:=ifFn(f=true,"ℝ","∅",f)
:ifFn(dim(x)>0,[[f]["Warning:"&string(x)]],f)
:EndFunc
pour que tout rentre dans l'ordre.
En plus, les fonctions définies par une intégrale à paramètre renvoient désormais un warning, ce qui fait un peu plus sérieux.

Il reste quand même des "simplifications" bizarres du CAS. Par exemple, essayez de trouver l'ensemble de définition de
Code: Select all
ln(abs(tan(x/2)))
qui, je le rappelle, n'est pas une fonction si farfelue qu'elle en a l'air puisque c'est une primitive de
Code: Select all
1/sin(x)
sur chaque intervalle où elle est définie.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Les ensembles de définition de fonctions enfin sur OS 3.

Unread postby Excale » 19 Nov 2012, 17:26

C'est quoi ce bug du cas pour ln(abs(x))? :@

Code: Select all
solve((ln(abs(x)))^(2)≥0,x) donne x≠0

Code: Select all
solve((ln(abs(x)))^(2)≥0 and getDenom(ln(abs(x)))≠0,x)  donne true

:@

Le problème vient de plus loin:
Code: Select all
solve(((1)/(x^(2)))≥0 and true,x) donne true

Depuis quand "x≠0 and true" est équivalent à "true"? Surtout que:
Code: Select all
x≠0 and true donne x≠0


Workaround différent de celui de Bisam:
Code: Select all
Define LibPub domain(f,x)=
Func
:© domain(expr,var)
:setMode(4,1)
:f:=warnCodes(solve(f^(2)≥0,x) and solve(getDenom(f)≠0,x),x)
:f:=ifFn(f=true,"ℝ","∅",f)
:ifFn(dim(x)>0,[[f]["Warning:"&string(x)]],f)
:EndFunc


Edit:
Idem avec "or false":
Code: Select all
solve(((1)/(x^(2)))≥0 or false,x) donne true
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: Les ensembles de définition de fonctions enfin sur OS 3.

Unread postby davidElmaleh » 19 Nov 2012, 19:15

pour info, tous les bugs ont été corrigés dans la nouvelle version de domaine disponible ici :
archives_voir.php?id=9139
Image
User avatar
davidElmalehProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 19.6%
 
Posts: 409
Images: 9
Joined: 14 Oct 2012, 23:30
Location: Paris 19
Gender: Male
Calculator(s):
MyCalcs profile
Class: PSI*

Previous

Return to News TI-Nspire

Who is online

Users browsing this forum: ClaudeBot [spider] and 10 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
784 utilisateurs:
>762 invités
>14 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)