Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » annulation dérivée
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

annulation dérivée

Posté le 31/07/2014 18:39

Bonjour à tous, est ce que vous connaissez un moyen en basic (pour graph35+/75) de savoir là ou s'annule la dérivée d'une fonction ?
SolveN(d/dx(fonction) pour x=x) ne marche que pour les fonction hyper simple donc pas génial ...
Dites moi comment vous faites !!


Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 02/08/2014 11:13 | #


Donc comment puis je faire pour avoir les racines de la dérivée d'une fonction en utilisant SolveN( et d/dx( dans le mode RUN ou PROG ?
JE SERAI ABSENT POUR 2 ANS A+

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
--------------------------------------------------------

Calculatrice : Graph 75
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 02/08/2014 14:00 | #


Faire de la dichotomie avec d/dx : tu cherche les valeurs de x telles que d(f(x))/dx = 0 : tu commence à un intervalle assez grand (donné par l'utilisateur par exemple), pour lequel tu détermine les valeurs de d(f(x))/dx suivant les valeurs de X :

Exemple avec f(x) = x^2 + 3x (donc f'(x) = 2x + 3)

Intervalle de début : [-100;100]
1) f'(-100) = -197 : f'(0) = 3 : f'(100) = 203 La racine se trouve donc entre -100 et 0
2) f'(-100) = -197 : f'(-50) = -97 : f'(0) = 3 La racine se trouve donc entre -50 et 0
3) On continue selon de principe de la dichotomie

Le seul problème avec cette méthode, c'est que ça ne fonctionne que sur des intervalles où f'(x) est monotone... Donc il te faudra analyser la fonction pour la découper en plusieurs intervalles
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 02/08/2014 15:46 | #


merci !! tu m'aide grandement !! C'est super sympa de ta part !! je te dis si ça marche bien
JE SERAI ABSENT POUR 2 ANS A+

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
--------------------------------------------------------

Calculatrice : Graph 75
Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 02/08/2014 17:56 | #


Dark Storm a écrit :
que sur des intervalles où f'(x) est monotone...
Donc que pour des polynômes de degré 2...
Ouais, donc ça ne sert pas tant que ça...

On peut toujours calculer la dérivée à plein de points et chercher les racines, mais ça va faire pas mal de calculs...
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 02/08/2014 17:59 | #


C'est ce que j'allais dire à Dark Storm, ça ne marche que pour les polynômes du second degré
Quelle technique pourrait être utilisée ? j'ai essayé plein de truc mais ça bug toujours pour un oui ou pour un non ...
JE SERAI ABSENT POUR 2 ANS A+

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
--------------------------------------------------------

Calculatrice : Graph 75
Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 02/08/2014 18:10 | #


Je pense que le mieux ce serait l'échantillonnage.
Tu testes sur un nombre donné (paramétrable) de points, sur l'intervalle de définition. Tu déduis les racines par théorème des valeurs intermédiaires (si bien sûr la fonction est continue partout), quand le signe de la dérivée s'inverse entre deux points, puis tu testes le signe de f ' en un seul point entre deux racines, et hop tu as les variations!
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 02/08/2014 18:12 | #


hum tu peux détailler avec un peu de code histoire que je vois vraiment comment tu veux faire parce que je ne comprends pas bien ce que je dois faire là : "Tu testes sur un nombre donné (paramétrable) de points, sur l'intervalle de définition. Tu déduis les racines par théorème des valeurs intermédiaires (si bien sûr la fonction est continue partout)"
Merci pour ton aide

je vais tester et je te dirais MERCI pour ton aide !!
JE SERAI ABSENT POUR 2 ANS A+

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
--------------------------------------------------------

Calculatrice : Graph 75
Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 02/08/2014 18:34 | #


Bon, tu fais une boucle For, en retenant le signe du précédent à chaque fois, et quand ça change tu sais qu'il y a une racine là!
Comment comptes-tu stocker les racines? Dans une liste je pense. Voilà une esquisse de code:
[gray]"Fonction"[/gray]?[b]->[/b]fn1
[gray]"Borne min"[/gray]?[b]->[/b]U
[gray]"Borne max"[/gray]?[b]->[/b]V
[gray]"Racines"[/gray][b]->[/b] List [maroon]1[/maroon][0]
0[b]->[/b]D

Abs (U-V)/1000 [b]->[/b] N

d/dx(fn1(X),U)[b]->[/b]A
[b][blue]If[/blue][/b] A<>0: [b][blue]Then[/blue][/b] A/Abs A [b]->[/b] B
[b][blue]Else[/blue][/b] D+1[b]->[/b]D
U [b]->[/b] List [maroon]1[/maroon][D]
[b][blue]IfEnd[/blue][/b]

[b][blue]For[/blue][/b] U+N[b]->[/b]W [b][blue]To[/blue][/b] V [b][blue]Step[/blue][/b] N

d/dx(fn1(X),W)[b]->[/b]A
[b][blue]If[/blue][/b] A<>0: [b][blue]Then[/blue][/b] A/Abs A [b]->[/b] C: [b][blue]IfEnd[/blue][/b]

[b][blue]If[/blue][/b] C<B: [b][blue]Then[/blue][/b] D+1 [b]->[/b] D
W [b]->[/b] List [maroon]1[/maroon][D]
[green]'Racine entre W-N et W[/green]
[b][blue]IfEnd[/blue][/b]
C [b]->[/b] B

[b][blue]Next[/blue][/b]

[green]'Test des variations[/green]

[b][blue]For[/blue][/b] [maroon]1[/maroon][b]->[/b]I [b][blue]To[/blue][/b] D
List [maroon]1[/maroon][I]-N [b]->[/b] W
d/dx(fn1(X),W)[b]->[/b]A

[green]'Variation sur le segment = Signe de A[/green]
[b][blue]Next[/blue][/b]

En gros c'est un truc comme ça... J'ai fait ça vite fait.

En prenant N suffisamment petit, on a les variations correctes. (Quand N tend vers 0 c'est vrai, par définition de continuité)

(j'abuse un peu en parlant de "racines", ce ne sont que des zéros... Les racines c'est pour les polynômes... )
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 02/08/2014 19:02 | #


Merci beaucoup j avais compris le principe mais je n avais aucune idee de comment bien le formuler en basic grace a toi c est chose faite, je vais etudier ton code en detail pour en saiair toutes les subtilites
Un grand MERCI encore

PS: desole pour la ponctuation, j ai un clavier americain en ce moment

Ajouté le 02/08/2014 à 20:26 :
J'ai fait de nombreux test mais je n'ai que rarement un résultat correct pour les "racines" de la dérivée, je ne comprends pas d'où peut venir le problème ...
En reprenant l'exemple de la fonction f(x)=x^3-x je n'obtiens que -0,57 qui n'est que la valeur approchée de la première racine, la deuxième n'est pas donnée (0,57)
JE SERAI ABSENT POUR 2 ANS A+

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
--------------------------------------------------------

Calculatrice : Graph 75
Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 02/08/2014 20:52 | #


Eh bien tu n'as qu'à stocker toutes les valeurs de dérivée calculer, et voir où est-ce que ça plante!
Il faut bien que la dérivée change de signe à un moment...

Au fait j'ai oublié de traiter le cas A=0 dans la boucle For, il faut le traiter comme le cas avant la boucle.
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 03/08/2014 10:39 | #


J'ai testé ton programme avec le cas A=0 en plus ainsi que 2 programmes de mon cru utilisant d'autres méthodes mais le problème auquel je me confronte est le suivant : aucun des programmes ne donne TOUTES les "racines" sur les intervalles et leur durée d'exécution est énorme (2-3 min) !!
Je vais donc traduire en basic CASIO la partie du programme tabzz qui cherche les "racines" de la dérivée (programme qui a été crée pour Ti 82/83) car il trouve toutes les "racines" des dérivées sur l'intervalle [-50;50] en moins de 10 secondes
Si ça ne marche pas, je chercherais autre chose, mais ton programme Alex_1186 est le plus prometteur, merci encore pour ton aide !!!

Ajouté le 03/08/2014 à 11:50 :
J'ai ça maintenant mais il doit y avoir des erreurs Est ce que quelqu'un peut regarder et corriger s'il a le temps ? MERCI

[gray]"FONCTION ?"[/gray],Str1
Str1[b]->[/b]Y1
ClrHome
[red]Lbl[/red] [maroon]1[/maroon]
0[b]->[/b]Y
Fix [maroon]2[/maroon]
1[b]->[/b]dim(List [maroon]4[/maroon])
0.111[b]->[/b]List [maroon]4[/maroon][1]
5[b]->[/b]dim(List [maroon]1[/maroon])
Fill(0.111,List [maroon]1[/maroon])
1[b]->[/b]C
ClrHome
Menu([gray]"   INTERVAL ??  ","R",Z,"DEFINIR",Y,"RETOUR"[/gray],[maroon]2[/maroon])
[red]Lbl[/red] Z
-50[b]->[/b]A
50[b]->[/b]B
[b][brown]locate[/brown][/b](2,[maroon]1[/maroon],[gray]"[df]=R"[/gray]
[red]Goto[/red] X
[red]Lbl[/red] Y
[gray]"INTERVAL [A,B] ?"[/gray]
[gray]"A ? "[/gray]?[b]->[/b]A
[gray]"B ? "[/gray]?[b]->[/b]B
DelVar F
[b][blue]If[/blue][/b] A<-50:-50[b]->[/b]A
[b][blue]If[/blue][/b] B>50:50[b]->[/b]B
[red]Lbl[/red] X
A[b]->[/b]X
A[b]->[/b]V
d/dx(Y1,X,A)[b]->[/b]F
[red]Lbl[/red] theta
X[b]->[/b]A
Fix [maroon]0[/maroon]
[b][brown]Locate[/brown][/b](3,[maroon]1[/maroon],"SCAN DE F(X)...
[b][brown]Locate[/brown][/b](5,[maroon]1[/maroon],C-1
[b][brown]Locate[/brown][/b](5,[maroon]4[/maroon],"EXTREMUMS
Fix [maroon]2[/maroon]
[b][blue]For[/blue][/b](X,A,B+1,[maroon]1[/maroon]
d/dx(Y1,X,X+0.0001)[b]->[/b]E
[b][blue]If[/blue][/b] E>=[maroon]0[/maroon] and F<0
[red]Goto[/red] C
[b][blue]If[/blue][/b] E<0 and F>=[maroon]0[/maroon]
[red]Goto[/red] C
E[b]->[/b]F
End
[red]Goto[/red] A
[red]Lbl[/red] C
X[b]->[/b]H
[b][blue]For[/blue][/b](X,H-1,H,[maroon]0[/maroon].01
d/dx(Y1,X,X+0.00001)[b]->[/b]D
[b][blue]If[/blue][/b] D<=O and D>=-O
[b][blue]Then[/blue][/b]
0.01[b]->[/b]O
X[b]->[/b]List [maroon]1[/maroon][C]
C+1[b]->[/b]C
H+1.1[b]->[/b]X
d/dx(Y1,X,H+0.00001)[b]->[/b]F
[red]Goto[/red] theta
End
End
5O[b]->[/b]O
[red]Goto[/red] C
[red]Lbl[/red] A


JE SERAI ABSENT POUR 2 ANS A+

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
--------------------------------------------------------

Calculatrice : Graph 75
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 03/08/2014 11:59 | #


Là t'as vraiment l'impression d'avoir tout traduit en Basic Casio ?
Locate il y a pas de parenthèse, ClrHome c'est ClrText, Delvar n'existe pas, il y a pas de parenthèse à Dim (et il faut une majuscule), il faut un Then après les if et un ifEnd, où alors tu utilise la double fleche, le For c'est pas comme ça, il faut utiliser To et Step
Et aussi, c'est pas une erreur, mais "D<=O and D>=-O", tu peux remplacer par Abs D <= O

Ajouté le 03/08/2014 à 12:01 :
Et aussi ta première ligne vuet rien dire, tu dois mettre "Fonction "?->Str 1
Tu pourrai quand même vérifier un petit peu sur ta calto
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 04/08/2014 18:33 | #


Tu as raison, je suis vraiment désolé j'ai fait ça à la va vite...
J'ai corrigé, je pense que maintenant ça marchera, est ce que quelqu'un peut regarder ?
Merci

"Fonction "?→Str 1
Str1→Y1
ClrText
Lbl 1
0→Y
Fix 2
1→Dim List 4
0.111→List 4[1]
5→Dim List 1
Fill(0.111,List 1)
1→C
ClrText
Menu("   INTERVAL ??  ","R",Z,"DEFINIR",Y,"RETOUR",2)
Lbl Z
-50→A
50→B
locate 2,1,"[df]=R"
Goto X
Lbl Y
"INTERVAL [A,B] ?"
"A ? "?→A
"B ? "?→B
If A<-50
Then
-50→A
IfEnd
If B>50
Then
50→B
IfEnd
Lbl X
A→X
A→V
d/dx(Y1,X,A)→F
Lbl theta
X→A
Fix 0
Locate 3,1,"SCAN DE F(X)...
Locate 5,1,C-1
Locate 5,4,"EXTREMUMS
Fix 2
For A->X To B+1
d/dx(Y1,X,X+0.0001)→E
If E >=0 and F<0
Then
Goto C
IfEnd
If E<0 and F >=0
Then
Goto C
IfEnd
E→F
Next
Goto A
Lbl C
X→H
For H-1->X To H Step 0.01
d/dx(Y1,X,X+0.00001)→D
If Abs D=<O
Then
0.01→O
X→List 1[C]
C+1→C
H+1.1→X
d/dx(Y1,X,H+0.00001)→F
Goto theta
IfEnd
Next
5*O→O
Goto C
Lbl A


Ajouté le 05/08/2014 à 13:44 :
Salut, j'ai un problème dans mon code (ci-dessus) au niveau de Menu( ... je sais que c'est faut mais je ne sais pas par quoi le remplacer pour que le programme puisse fonctionner correctement ...
Merci pour votre aide !!
JE SERAI ABSENT POUR 2 ANS A+

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
--------------------------------------------------------

Calculatrice : Graph 75
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 06/08/2014 17:25 | #


Tu peux aller voir par ici je pense.

Après pour tester le mieux est de lancer sur ta machine :p.
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 06/08/2014 17:31 | #


Merci mais j'ai trouvé tout seul je poste un nouveau sujet !!
JE SERAI ABSENT POUR 2 ANS A+

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
--------------------------------------------------------

Calculatrice : Graph 75

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 310 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd