Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

Programme matlab trouve 0 de n'importe qu'elle fonction

Posté par
curieuse21
17-10-12 à 11:49

Bonjour à tous, je dois écrire une fonction récursive qui calcule la racine d'une fonction f par dichotomie, mais on se limite à des cas particuliers j'aurais voulu le faire dans le cas général. Pouvez vous me dire ce qui ne va pas dans mon raisonnement et/ou m'aider à la créer?

Voici ma fonction : on programme pour la fonction f définie en dessous (que l'on peut changer). Je précise que je ne veux pas utiliser l'histoire des signes puisqu'elle ne marche pas pour des fonctions de même signe aux bornes mais qui s'annule au milieu.

function [L] = racine(a,b)
L=[];
if abs(f(a))<=eps
    L=L:[a];
end
if abs(f(b))<=eps
    L=L:[b];
end
else
    L=L:[racine(a,(a+b)/2),racine((a+b)/2,b)];
end

function [y]=f(x)
y=x^3-2*x-5;
end


Matlab n'en veux pas me parler de récursiv limit puisqu'effectivement ma fonction tourne sans s'arrêter, alors comment programmer pour que matlab s'arrête au bout d'un nombre raisonnable

Posté par
LeDino
re : Programme matlab trouve 0 de n'importe qu'elle fonction 17-10-12 à 12:17

Tu es sûre que tu sais ce que tu fais ?
Il est carrément chelou ton programme...

Posté par
LeDino
re : Programme matlab trouve 0 de n'importe qu'elle fonction 17-10-12 à 12:19

Citation :
Je précise que je ne veux pas utiliser l'histoire des signes puisqu'elle ne marche pas pour des fonctions de même signe aux bornes mais qui s'annule au milieu

Très bien, mais tu proposes quoi à la place ?

Posté par
LeDino
re : Programme matlab trouve 0 de n'importe qu'elle fonction 17-10-12 à 12:24

Absolument rien ne guide ta recherche d'intervalle dans ton programme.
Dans le "meilleur" des cas, tu risques d'aboutir à un programme qui explore tous les intervalles coupés en deux...

Autant faire un balayage systématique : au moins les choses seront claires.

Sauf si tu as une idée derrière la tête, mais là elle ne transparait pas franchement...

Posté par
LeDino
re : Programme matlab trouve 0 de n'importe qu'elle fonction 17-10-12 à 12:29

As-tu fait le programme qu'on t'a demandé ?
Fonctionne-t-il ?
Peux-tu nous le montrer ?



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !