Algorithme de variation
Posté le 31/10/2014 15:45
Bonjour
Comme vous le savez sûrement, j'ai sorti un programme qui permet de tracer un tableau de variation.
Sauf que l'algorithme était pas assez précis comme me l'a fait remarqué un utilisateur
J'ai donc un nouveau code :
ClrList [maroon]3[/maroon]:0→C
[gray]"Fonction "[/gray]?→Y1
[b][blue]If[/blue][/b] Y1(-5)=Y1(1) And Y1(1)=Y1(5)
[b][blue]Then[/blue][/b]
[brown]Cls[/brown]
[b][brown]Text[/brown][/b] [maroon]15[/maroon],[maroon]10[/maroon],[gray]"f(x) est constante"[/gray]
[b][brown]Text[/brown][/b] [maroon]23[/maroon],[maroon]10[/maroon],[gray]"sur l[green]'intervalle"[/gray][/green]
[b][blue]Stop[/blue][/b]
[b][blue]Ifend[/blue][/b]
[b][blue]For[/blue][/b] -10→A [b][blue]To[/blue][/b] [maroon]9[/maroon]
d/dx(Y1,[maroon]0[/maroon].1A→B
[b][blue]If[/blue][/b] Bd/dx(Y1,[maroon]0[/maroon].1A+0.1)<=[maroon]0[/maroon] And B
[b][blue]Then[/blue][/b] [b][blue]Isz[/blue][/b] C
0.1A→U:U+0.1→V:U+.05→W
[b][blue]While[/blue][/b] V-U>.05
[b][blue]If[/blue][/b] [maroon]0[/maroon]>d/dx(Y1,U)d/dx(Y1,W
[b][blue]Then[/blue][/b] W→V
[b][blue]Else[/blue][/b] W→U
[b][blue]IfEnd[/blue][/b]
.5+(U+V→W
[b][blue]WhileEnd[/blue][/b]
W→List3[C
[b][blue]IfEnd[/blue][/b]
[b][blue]Next[/blue][/b]
Le problème est que quand il n'y a pas de racine, le programme bug et on obtient "erreur Dim".
Dans mon ancien code j'avais ajouté un système qui, quand il n'y avait pas de racines, m'indiquait directement si la fonction était strictement croissante ou décroissante sur l'intervalle. Mais je n'arrive plus à ajouter un tel système dans ce code
quelqu'un peut m'aider ?
Merci !
Citer : Posté le 31/10/2014 15:57 | #
Déplacé et renommé.
Tu feras un peu plus attention la prochaine fois ?
Citer : Posté le 31/10/2014 15:57 | #
Promis
Tu as une petite réponse ?
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 31/10/2014 16:18 | #
Ben, si tu est certain qu'elle est monotone sur l'intervalle t'as qu'à calculer pour deux valeurs de l'intervalle et regarder l'ordre obtenu
Citer : Posté le 31/10/2014 19:54 | #
Non, je voudrais que l'algorithme fasse une recherche de racines et ensuite
s'il n'y pas de racines et que la dérivée est positive alors "f(x) croissante sur l'intervalle"
s'il n'y pas de racines et que la dérivée est négative alors "f(x) décroissante sur l'intervalle"
tu vois comment je pourrai faire ?
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 31/10/2014 19:56 | #
Je me tue à te le dire.
Considérant a et b deux nombres de l'intervalle tels que a < b :
x prend la valeur f(a)
y prend la valeur f(b)
Si x<y
f est croissante
Sinon
f est décroissante
Fin
Fin
Sinon, je trouve ton test pour f constante un peu léger.
Citer : Posté le 31/10/2014 20:00 | #
Ok, tu peux m'ajouter ça dans le code stp ? Car (je ne comprend pas pourquoi) chez moi ça marche jamais
En fait ce que je n'arrive pas à faire c'est le "s'il n'y a pas de racine"
Et qu'est ce que tu propose pour prouver qu'elle est constante ?
Merci
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 31/10/2014 20:22 | #
Essaye :
List 3<2 And List 3 [1]=0⇒"le reste"
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 31/10/2014 20:31 | #
Merci pour ton aide
Et tu mettrais où cette condition "if liste 3 vide then ..." dans le code ?
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 31/10/2014 20:34 | #
Ca je ne sais pas dsl j'ai rien compris au code (j'ai pas encore appris les tableaux de variations je l'apprends à la rentrée)
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 31/10/2014 20:40 | #
Ah désolé, tu dois rien comprendre aux dérivées non plus alors
Bonne programmation
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 31/10/2014 20:41 | #
Non dsl Et merci toi aussi
Bonne chance pour trouver :idea:
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 31/10/2014 20:53 | #
Il faut le mettre après l'analyse.
Et Scientifix, le problème c'est surtout que tu testes trois valeurs simples, qui conviennent biens à des "cas d'école" : fais une analyse sur 10 à 20 aléatoires sur l'ensemble de l'intervalle, tu stockes la première valeur et si une est différente, la fonction n'est pas constante.
Là t'es déjà beaucoup plus sûr.
Citer : Posté le 01/11/2014 12:05 | #
Merci Lephé
Je sais qu'il faut mettre cela après l'analyse mais je ne sais pas comment faire le "si pas de racines alors ..."
Peux tu me montrer ? Et au passage me montrer où mettre cette condition dans le code ? Merci
Je vais faire un truc mieux pour les fonctions constantes, t'as raison c'est pas génial mon histoire
Ajouté le 02/11/2014 à 17:29 :
Bon, je sais que je commence à être chiant, mais où que je mette cette p***** de condition dans le programme, celui-ci "passes dessus" sans problème car je n'ai pas de "Dim error" mais n'affiche pas le message "croissante" ou "décroissante" comme il le devrait Quelqu'un peut-il me mettre cette £\à=è=¤¨^! de condition dans le code de mon post originel ?
Merci !!!
PS: désolé de faire le chieur mais là je ne comprend vraiment pas
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 02/11/2014 17:31 | #
Avant tout, il y a un problème dans ta fonction non ? Au début, C vaut 0, tu changes pas la valeur et tu mets W dans List 3[C].
Citer : Posté le 02/11/2014 17:32 | #
Je vois pas ce que tu veux dire ... ça marche très bien sur ma calculatrice
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 02/11/2014 17:34 | #
Au début :
Et par la suite :
De la deuxième instruction je déduis que C est le compteur de solutions non ? Alors pourquoi n'augmente-t-il nulle part ? Là, tu stockes W dans List 3[0], soit le titre.
Citer : Posté le 02/11/2014 17:44 | #
Pourtant quand j'exécute le programme pour f(x)=x^3-x par exemple (2 racines) et que je vais dans RUN MATH après C vaut bien 2 ... et List 3[1 contient -0.575 et Liste 3[2 0.575 ce qui est correct. Par contre je ne sais pas où mettre ma boucle "si pas de racines ..." car où que je la mette le programme ne veut jamais afficher le texte "croissante/décroissante sur l'intervalle ..."
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 02/11/2014 17:48 | #
Oups, au temps pour moi ! J'avais raté un Isz C.
Bien, voilà donc ce que ça donne :
"Fonction "?→Y1
// Test de constance
If Y1(-5)=Y1(1) And Y1(1)=Y1(5)
Then
Cls
Text 15,10,"f(x) est constante"
Text 23,10,"sur l'intervalle"
Stop
Ifend
// Analyse
For -10→A To 9
d/dx(Y1,0.1A→B
If Bd/dx(Y1,0.1A+0.1)<=0 And B
Then Isz C
0.1A→U:U+0.1→V:U+.05→W
While V-U>.05
If 0>d/dx(Y1,U)d/dx(Y1,W
Then W→V
Else W→U
IfEnd
.5+(U+V→W
WhileEnd
W→List3[C
IfEnd
Next
// Test du nombre de racines
If C=0
Then Y1(un_nombre_de_l'intervalle)→X
Y2(un_nombre_plus_grand_toujours_dans_l'intervalle)→Y
If X<Y
Then "Croissante"
Else "Decroissante"
IfEnd
IfEnd
Citer : Posté le 02/11/2014 18:04 | #
Merci !! ça marche
Désolé d'avoir été aussi chiant .... GENIAL CA MARCHE ENFIN
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 02/11/2014 18:42 | #
Ben... après l'analyse quoi. x)
J'ai hâte de tester la prochaine version !