Matlab: coefficients à partir de données

Résolu/Fermé
Enna7 Messages postés 40 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 3 avril 2012 - 11 janv. 2010 à 18:05
 momo - 22 mars 2010 à 01:09
Bonjour,

J'ai besoin de vous pour un petit coup de pouce sous Matlab...

J'ai une série de données (xi,yi) que j'ai représenté avec matlab dont je connais la "courbe de tendance" : y=ax^b+c.

Je souhaiterais retrouver les coefficients a, b et c de cette courbe à partir de mes données (xi,yi).

Quelqu'un pourrait-il m'indiquer une méthode utilisant Matlab ?

Je pense que c'est réalisable sous Excel, mais j'ai vraiment besoin de le faire sous Matlab, et la fonction qui me semble le plus adapté (polyfit) permet de résoudre uniquement les polynômes de degrés connus...


Merci énormément de votre aide !

Enna.

1 réponse

Enna7 Messages postés 40 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 3 avril 2012 9
12 janv. 2010 à 11:47
Bonjour,

Vu que j'ai trouvé la solution toute seule comme une grande, je mets la réponse... On sait jamais ça peut servir à quelqu'un.

Position du problème :
Une série d'abscisse, x_i, correspondant à une série d'ordonnée, y_i.
J'avais besoin de trouver les coefficients correspondant à la courbe de tendance de la forme : y=ax^b+c

Résolution avec Matlab : utilisation de la fonction nlinfit !

On crée la fonction correspondant à la courbe de tendance :

function Y=courbe_tendance(beta,X)
a=beta(1);
b=beta(2);
c=beta(3);
Y=a.*X.^b+c;

On donne une valeur approximative des coefficients a, b et c :
beta0=[1 1 1];
result_beta=nlinfit(x_i,y_i,@courbe_tendance,beta0)

Et voilà ! result_beta retourne les valeurs les plus proches de a, b et c.

Bonne journée à tous !
3
merci Enna7 , cela m a aider bcp...
0