π
<-

remerciements

Pour le TI-Basic sur Nspire

remerciements

Unread postby alphaméthyste » 24 May 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: Select all
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: Select all
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: Select all
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: Select all
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
User avatar
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 18.8%
 
Posts: 51
Joined: 03 May 2015, 16:11
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: L1 maths

Re: remerciements

Unread postby Bisam » 24 May 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: Select all
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: Select all
If eps =< 0 Then
e:=10^-9
EndIf
If eps >= 1 Then
e:=10^-9
EndIf
tu peux écrire
Code: Select all
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: Select all
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.
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: remerciements

Unread postby alphaméthyste » 24 May 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)
Last edited by alphaméthyste on 24 May 2015, 12:29, edited 3 times in total.
User avatar
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 18.8%
 
Posts: 51
Joined: 03 May 2015, 16:11
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: L1 maths

Re: remerciements

Unread postby alphaméthyste » 24 May 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
User avatar
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 18.8%
 
Posts: 51
Joined: 03 May 2015, 16:11
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: L1 maths

Re: remerciements

Unread postby Bisam » 24 May 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 ?
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: remerciements

Unread postby alphaméthyste » 24 May 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))
Last edited by alphaméthyste on 24 May 2015, 14:00, edited 1 time in total.
User avatar
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 18.8%
 
Posts: 51
Joined: 03 May 2015, 16:11
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: L1 maths

Re: remerciements

Unread postby Bisam » 24 May 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" ?
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: remerciements

Unread postby alphaméthyste » 24 May 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 ...
Last edited by alphaméthyste on 24 May 2015, 15:14, edited 1 time in total.
User avatar
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 18.8%
 
Posts: 51
Joined: 03 May 2015, 16:11
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: L1 maths

Re: remerciements

Unread postby alphaméthyste » 24 May 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
Last edited by alphaméthyste on 24 May 2015, 15:37, edited 1 time in total.
User avatar
alphaméthyste
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 18.8%
 
Posts: 51
Joined: 03 May 2015, 16:11
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: L1 maths

Re: remerciements

Unread postby Bisam » 24 May 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...
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

Next

Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 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.
777 utilisateurs:
>713 invités
>55 membres
>9 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)