π
<-
Chat plein-écran
[^]

remerciements

Pour le TI-Basic sur Nspire

remerciements

Message non lude alphaméthyste » 24 Mai 2015, 09:56

salut

bon je vous remercie pour toutes les fois que vous m'avez aidé

alors en guise de remerciement au cas où ça interesse quelqu'un

j'ai construit quatre fonctions dont je vous retranscrit le code ci-dessous

deux remarques au préalable
1-pour la variable nommée eps prendre eps = 10^-9 ou 10^-10 (une valeur positive proche de zero mais non nulle)
2-par ailleurs lorsque la valeur de la fonction donne pour solution 10^90 cela signifie une aberration de calcul
et que l'erreur proviens des données mises en entrée

description des quatre fonctions :

-la premiere est notée : ineg(a,b)

il s'agit d'une application RXR->{0,1}
lorsque a est superieur ou egal à b on obtiens ineg(a,b) = 1 sinon ineg(a,b)=0

-la deuxieme est notée agm(a,b,eps)

elle donne la moyenne arithmético-géométrique du couple (a,b)

ici a et b sont positifs

-la troisieme est notée agmtr(a,b,c,eps)

avec a et b des réels quelconques et c qui est un réel strictement supérieur à 0 et non égal à 1

on verifie agmtr(x,x,c,eps)=x

x+y= agmtr(x,y,c,eps)+ agmtr(y,x,c,eps)

agmtr(x,y,c,eps)+ z=agmtr(x+z,y+z,c,eps)

agmtr(x,y,c,eps). z=agmtr(x.z,y.z,c,eps)

agmtr( agmtr(x,y,c,eps) , z , c , eps) =agmtr( agmtr(x,z,c,eps) , agmtr(y,z,c,eps) , c, eps)

lorsque x<y et 0<c<1 alors on verifie x<z<y

lorsque x>y et 0<c<1 alors on verifie x>z>y

lorsque x<y et c>1 alors on verifie x<y<z

lorsque x>y et c>1 alors on verifie x>y>z

-la quatrième est notée iagmtr(x,y,z,eps)

selon agmtr(x,y,t,eps)=z alors cette fonction donne la valeur de t

iagmtr(x,y,z,eps)=t

une aberration de calcul se produisant lorsque z>x>y ou bien lorsque z<x<y

Code: Tout sélectionner
Define ineg(a,b)=
Func
Local c
c:=int((2.int ((a+|a|+|b|+1)/(b+|a|+|b|+1)))/(int((a+|a|+|b|+1)/(b+|a|+|b|+1))+1))
Return c
EndFunc


Code: Tout sélectionner
Define agm(a,b,eps)=
Func
Local boucle,a0,b0,a1,b1,a2,b2,c2
c2:=eps
a2:=a
b2:=b
If eps =< 0 Then
c2:=10^-9
EndIf
If eps >= 1 Then
c2:=10^-9
EndIf
If a < 0 Then
a2:= |a|
EndIf
If b < 0 Then
b2:= |b|
EndIf
a1:=(a2+b2)/2
b1:=racine carrée de (a2.b2)
boucle :=1
While |a1-b1|>c2
boucle := boucle + 1
a0 :=a1
b0:= b1
a1:=(a0+b0)/2
b1:=racine carrée de (a0.b0)
If boucle >= 100 Then
a1:=0
b1:=0
c2:=0
EndIF
EndWhile
If boucle >=100 Then
a1:=10^90
EndIf
Return a1
EndFunc


Code: Tout sélectionner
Define agmtr(a,b,c,eps)=
Func
Local boucle,e,j,n,a0,a1,b0,b1,c0,c1
e:=eps
a0:=c
If eps =< 0 Then
e:=10^-9
EndIf
If eps >= 1 Then
e:=10^-9
EndIf
If c < 0 Then
a0:= |c|
EndIf
a1:=ineg(b,a)
j:=2.a1-1
b0:=j.a0.(b-a)
b1:=j.(b-a)
a0:=agm(b0,b1,e)
c0:=a+j.a0
b0:=|a+(b/2)-((3.c0)/2)|
b1:=|a-c0|
a0:=agm(b0,b1,e)
c1:=a+j.a0
n:=3
boucle :=1
While |c1-c0|>e
boucle := boucle + 1
b0:= |a-c1+((c0-c1)/n!)|
b1:=|a-c1|
a0:=agm(b0,b1,e)
c0:=c1
c1:=a+j.a0
n:=n+1
If boucle >= 100 Then
c0:=0
c1:=0
e:=0
EndIF
EndWhile
If boucle >=100 Then
c0:=10^90
EndIf
Return c0
EndFunc


Code: Tout sélectionner
Define iagmtr(x,y,z,eps)=
Func
Local boucle,a,b,c,d,l,n,t,t0,t1
c:=eps
n:=1
If eps =< 0 Then
c:=10^-9
EndIf
If eps >= 1 Then
c:=10^-9
EndIf
d:=0
If z>x Then
d:=d+1
EndIf
If x>y Then
d:=d+1
EndIf
If d=2 Then
t:=10^90
Goto n
EndIf
d:=0
If y>x Then
d:=d+1
EndIf
If x>z Then
d:=d+1
EndIf
If d=2 Then
t:=10^90
Goto n
EndIf
d:=|x-y|
If d =< c Then
t:=10^90
Goto n
EndIF
d:=|x-z|
If d =< c Then
t:=10^90
Goto n
EndIF
d:=|y-z|
If d =< c Then
t:=10^90
Goto n
EndIF
l:=(y-x)/(z-x)
a:=(1/3).( racine carrée de ((24/l^2)+1) -2)
b:=(1/25).((4/l)+1)^2
t1:=a+(b-a).((1-agmtr(0,l,a,c))/(agmtr(0,l,b,c)-agmtr(0,l,a,c)))
t0:=b
boucle :=1
While |t1-t0|>c
boucle := boucle + 1
t0:=t1
t1:=a+(t0-a).((1-agmtr(0,l,a,c))/(agmtr(0,l,t0,c)-agmtr(0,l,a,c)))
If boucle >= 100 Then
t0:=0
t1:=0
c:=0
EndIF
EndWhile
t:=t1
If boucle >=100 Then
t:=10^90
EndIf
Lbl n
Return t
EndFunc
Avatar de l’utilisateur
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 18.8%
 
Messages: 51
Inscription: 03 Mai 2015, 16:11
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: L1 maths

Re: remerciements

Message non lude Bisam » 24 Mai 2015, 11:57

C'est très gentil de venir remercier et de fournir ces fonctions.

En échange, voici quelques remarques qui pourront sans doute t'aider pour améliorer les prochaines que tu crééras.

Tout d'abord, il existe une fonction "when(test, résultat si vrai, résultat si faux)" qui fait le test et renvoie l'un des deux résultats suivant que le résultat est vrai ou faux.
Ainsi, ta première fonction peut s'écrire en une ligne :
Code: Tout sélectionner
ineg(a,b):=when(a>=b,1,0)


Ensuite, lorsqu'un test est suivi d'une seule ligne de commande, il n'est pas nécessaire d'écrire le Then et le Endif.
Par exemple, à la place de
Code: Tout sélectionner
If eps =< 0 Then
e:=10^-9
EndIf
If eps >= 1 Then
e:=10^-9
EndIf
tu peux écrire
Code: Tout sélectionner
If eps <= 0 or eps >=1
e:=10^-9


On peut également utiliser tous les paramètres de la fonction comme variables locales plutôt que d'en introduire d'autres qui feront doublon.
Ainsi, la fonction agm peut se réécrire :
Code: Tout sélectionner
Define agm(a,b,eps)=
Func
Local a0,b0
If eps <= 0 or eps >= 1
    eps:=10^-9
a:=|a|
b:=|b|
While |a-b|>eps
    a0:=a
    b0:= b
    a:=(a0+b0)/2
    b:=√(a0*b0)
EndWhile
Return a
EndFunc

J'ai enlevé le test d'excès de passage dans la boucle "While" car on sait que les deux suites convergeant vers la moyenne arithmético-géométrique convergent très rapidement et qu'il n'y a donc pas de risque d'excéder un temps de calcul raisonnable.

Je n'ai pas compris ce que faisait la 3ème fonction... mais je pense qu'on peut également la simplifier de la même façon.
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: remerciements

Message non lude alphaméthyste » 24 Mai 2015, 12:21

merci Bisam

je vais donc modifier cela

sinon pour la troisieme et quatrieme fonction par exemple (pour l'explication je laisse de coté le eps qui évite des aberrations de calculs)
celles ci utilisent la fonction agm (moyenne arithmético geometrique -la deuxieme fonction )

agmtr(x,y,t) par exemple x=-2.3 y=1.7 t=2.789 alors x<y<z et z=5.647776579 ici t>1
et on obtiens iagmtr(x,y,z)=t=2.789 selon x=-2.3 y=1.7 z=5.647776579

autre exemple agmtr(x,y,t) avec x=-2.3 y=-0.9 t=0.789 alors x<z<y et z=-1.0936534715 ici 0<t<1
et on obtiens iagmtr(x,y,z)=t=0.789 selon x=-2.3 y=-0.9 z=-1.0936534715

et on verifie aussi agmtr(x,x,t)=x
agmtr(x,y,t)+agmtr(y,x,t)=x+y
agmtr(x,y,t)+z=agmtr(x+z,y+z,t)
agmtr(x,y,t).z=agmtr(x.z,y.z,t)
agmtr(agmtr(x,y,t),z,t)=agmtr(agmtr(x,z,t),agmtr(y,z,t),t)
Dernière édition par alphaméthyste le 24 Mai 2015, 12:29, édité 3 fois.
Avatar de l’utilisateur
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 18.8%
 
Messages: 51
Inscription: 03 Mai 2015, 16:11
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: L1 maths

Re: remerciements

Message non lude alphaméthyste » 24 Mai 2015, 13:12

pour une explication supplementaire (en ce qui concerne les fonctions agmtr et iagmtr

l'utilisation de la factorielle n! fait que la suite engendrée par la fonction amgtr converge tres rapidement

quand au valeurs de a et b calculée dans la fonction iagmtr ces deux valeurs sont tres importantes aussi

pour iagmtr(x,y,z) = t

alors on verifie toujour a<t<b

la suite engendrée par cette fonction converge elle aussi rapidement
Avatar de l’utilisateur
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 18.8%
 
Messages: 51
Inscription: 03 Mai 2015, 16:11
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: L1 maths

Re: remerciements

Message non lude Bisam » 24 Mai 2015, 13:31

Je comprends bien que la 4ème fait en gros l'inverse de la 3ème... mais que renvoie exactement "agmtr" en fonction de x,y et z ?
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: remerciements

Message non lude alphaméthyste » 24 Mai 2015, 13:53

en fait la fonction agmtr(x,y,t)

possede les mêmes propriétés que la fonction

f(x,y)=(1-h(t)).x+h(t).y avec un parametre t dans ]0,1[UNION ]1,+infini[

et h(t) est une bijection dans ]0,1[UNION ]1,+infini[

sauf que là on ne dit pas explicitement qu'elle est cette bijection (en fait on s'en fiche là pour le coup)

elle se construit par l'utilisation d'une suite utilisant des factorielles et des moyennes arithmético géometrique

mais elle possede bien les mêmes propriétés

tu peut poser h(t)=t et tu verifie de même

f(x,x)=x
f(x,y)+f(y,x)=x+y
f(x,y)+z=f(x+z,y+y)
f(x,y).z=f(x.z,y.z)
f(f(x,y),z)=f(f(x,z),f(y,z))
Dernière édition par alphaméthyste le 24 Mai 2015, 14:00, édité 1 fois.
Avatar de l’utilisateur
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 18.8%
 
Messages: 51
Inscription: 03 Mai 2015, 16:11
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: L1 maths

Re: remerciements

Message non lude Bisam » 24 Mai 2015, 14:58

Je te demande une définition et tu me renvoies les propriétés...
Cela m'intéresse... mais je ne comprends pas comment elle est définie.

N'as-tu pas une définition correcte ?
D'où sors-tu cette notion ? C'est toi qui l'a inventée ?
D'ailleurs, pourquoi ce nom "agmtr" ? que veut dire le "tr" ?
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: remerciements

Message non lude alphaméthyste » 24 Mai 2015, 15:13

eh bien une definition correcte c'est une application agmtr(x,y,t) :R^2 X I->R

avec (x,y) dans R^2 et t dans I=]0,1[UNION]1,+infini[

mais bon puisque il en existe des tas elle est de même type que l'autre

sinon j'ai rien inventé j'ai juste essayé de construire une application qui colle avec ces propriétés sans definir une bijection h(t)

voire du type h(t)=t

comme pour tout type de fonction de ce type selon ce que j'ai dit précédemment

celle ci n'etant pas explicitement exprimée et on utilise des factorielles et moyennes arithmético geometrique pour la construire ...

quand au nom agmtr eh bien ...c'est un nom comme un autre ...
Dernière édition par alphaméthyste le 24 Mai 2015, 15:14, édité 1 fois.
Avatar de l’utilisateur
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 18.8%
 
Messages: 51
Inscription: 03 Mai 2015, 16:11
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: L1 maths

Re: remerciements

Message non lude alphaméthyste » 24 Mai 2015, 15:35

... ceci dit j'ai une idée derrière la tête ... mais bon je pense que ça va grincer des dents mais tant pis (je suis auto didacte donc n'ayant jamais été au lycée je comprend que ça soit un peu "loufoque" ceci dit j'ai rien à perdre : j'aime les maths et c'est gratuit )

mon idée de départ viens de là ->>> mais bon t'embête pas (c'est mon obssession) http://sciencetradition.forumactif.com/t252p15-l-addition-du-parametre-t-et-physique-classique#1667

ceci dit je prend le risque (de me faire chambrer) de te la dire puisque tu veux tout savoir (et c'est ton droit)

ps: fallait bien que je marque L1 maths -pour dire un truc comme un autre en m'inscrivant- mais en fait mon vrai niveau est troisième du collège
Dernière édition par alphaméthyste le 24 Mai 2015, 15:37, édité 1 fois.
Avatar de l’utilisateur
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 18.8%
 
Messages: 51
Inscription: 03 Mai 2015, 16:11
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: L1 maths

Re: remerciements

Message non lude Bisam » 24 Mai 2015, 15:43

Ce que je ne comprends pas, c'est comment tu peux trouver un résultat sans savoir comment tu l'as défini ! C'est inouï.
Je passe sur tes idées de modéliser la physique... ce passage ne m'intéresse pas beaucoup.
Mais tu fais des calculs mathématiques... et s'il n'y a pas de définition cohérente, tu auras beau exiger des propriétés, tant que tu n'es pas certain que l'objet dont tu parles existe, tu ne produis que du vent.

Je ne veux pas te pousser à arrêter, mais au contraire t'inciter à te concentrer sur le point essentiel : prouver que tu ne fais pas que brasser de l'air !
En gros, donner une définition à l'objet que tu calcules permettra à d'autres de vérifier qu'effectivement l'objet que tu calcules possèdes les propriétés que tu lui attribues... et il deviendra plus facile d'en débattre voire de l'utiliser.

Pour l'instant, je ne vois que le vent dans les feuilles...
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Suivante

Retourner vers Nspire-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 11 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1485 utilisateurs:
>1468 invités
>12 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)