π
<-

fonction de newton

Programmation et implémentation d'algorithmes.

fonction de newton

Message non lude collinm » 15 Juil 2005, 03:33

salut

jais le code suivant dans ma ti:

Code: Tout sélectionner
newton(a,to,trop)
func
local m,xn
0-m:0-xn
loop
    m+1-m
    if(d(f(x),x)|x=a)=0 then @@@@@
        exit
    else
        a-f(a)/d(f(x),x)|x=a)-xn
        if m= trop or abs(xn-a)tol
            exit
        endif
    xn-a
endloop
if (d(f(x),x|x=a)=0 then
    "la methode echoue"
else
    {m,xn}
endif
endfunc

si je fais:

newton(3*x,x,4)

j'obtient

a test did not resolve to true or false

et ça m'amène à la ligne @@@@@


une idée?
Avatar de l’utilisateur
collinm
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Prochain niv.: 36%
 
Messages: 22
Inscription: 29 Mai 2005, 00:00
Localisation: Québec, Canada
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: fonction de newton

Message non lude collinm » 15 Juil 2005, 04:57

Mic a écrit:euh, c'est pour quoi faire ce @@@@@ ?? .o



@@@@@ n'est là que pour montrer où est le problème... il n'est pas dans le code de la ti...
Avatar de l’utilisateur
collinm
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Prochain niv.: 36%
 
Messages: 22
Inscription: 29 Mai 2005, 00:00
Localisation: Québec, Canada
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: fonction de newton

Message non lude collinm » 15 Juil 2005, 11:41

dans les paramètres si je change a par f(x), il me dit que: Error: Arugment must be a variable name
Avatar de l’utilisateur
collinm
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Prochain niv.: 36%
 
Messages: 22
Inscription: 29 Mai 2005, 00:00
Localisation: Québec, Canada
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: fonction de newton

Message non lude collinm » 15 Juil 2005, 23:50

Mic a écrit:Déjà essais de mettre un espace après le if :
if (d(f(x),x)|x=a)=0 then @@@@@

Ensuite si tu prends pour a, 3*x, tu as x=3x et ça doit poser pb, ça ne doit pas savoir directement interpréter x=0 dans le d(.


Mais si tu veux bien nous expliciter clairement la méthode de Newton.


en gros je veux faire comme: http://lumimath.univ-mrs.fr/~jlm/cours/ ... node3.html

comme paramètre f(x), x0 (approximation initiale), n n'ombre d'itération

Code: Tout sélectionner
  newton(f(x),x0,n)
  func
  local m,xn
  0-m:0-xn
  loop
      m+1-m
      if d(f(x),x)=0 then
          exit
      else
          x-f(x)/d(f(x),x)-xn
          if m=n trop or abs(xn-a)x0
              exit
          endif
      xn-a
  endloop
  if  d(f(x),x)=0 then
      "la methode echoue"
  else
      {m,xn}
  endif
  endfunc
 


j'ai l'erreur:

Error: Argument must be a variable name
Avatar de l’utilisateur
collinm
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Prochain niv.: 36%
 
Messages: 22
Inscription: 29 Mai 2005, 00:00
Localisation: Québec, Canada
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: fonction de newton

Message non lude collinm » 17 Juil 2005, 01:39

pour le moment j'ai enlever le calcul de la dérivé 0... étant donné que ça cause problème...

j'ai fait un programme et la méthode de newton fonctionne j'ai fait la même chose avec une fonction.... et ça passe pu

le programme
Code: Tout sélectionner
ttt()
prgm
local f,m,xn,uu,n,x0
clrio
input "valeur ini", x0
x0-uu
1-
3-n
x^2-2-f(x)
loop
    uu-f(uu)/d(f(uu),uu))-xn
    if m=n then
        exit
    endif
    xn-uu
    m+1-m
endloop
disp "nb ite: "string(m),"
u(n)="string(uu)
endprgm


j'obtient si je met 1 pour la valeur initiale:

nb ite: 3
u(n)=17/12

avec le programme
Code: Tout sélectionner
newton(x^2-2,1,3)

newton(a,x0,n)
func
clrio
local f,m,xn,uu
1-m
a-f(x)
x0-uu
loop
    uu-f(uu)/d(f(uu),uu))-xn
    if m=n then
        exit
    endif
    xn-uu
    m+1-m
endloop
return uu
endfunc


j'obtient underf

une idée
Avatar de l’utilisateur
collinm
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Prochain niv.: 36%
 
Messages: 22
Inscription: 29 Mai 2005, 00:00
Localisation: Québec, Canada
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile


Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: ClaudeBot [spider] et 8 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
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
-
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.
2628 utilisateurs:
>2611 invités
>10 membres
>7 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)