[Matlab] Approximation de données discretes

Tout ce qui concerne par exemple les outils de calcul numérique, de calcul formel ou de géométrie.
[participation réservée aux membres inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
antZ

[Matlab] Approximation de données discretes

Message non lu par antZ »

Bonjour à vous,

J'ai un tableau de données issues de l'étude que je mene.
Lorsque j'affiche les differents points dans repere, j'obtient une belle courbe qu ia une forme particuliere du genre "croissance - plateau - croissance". ça ressemble un peu à cette forme :

____/ mais avec des bords arrondis.
/

J'aimerai trouver le point d'inflexion de cette courbe (c'est à dire en gros le milieu du plateau)

Je ne trouve pas de solution à ce probleme car j'ai des données discrete et pas d'equation. Quelqu'un peut il m'aider ou me donner une piste de recherche ?

merci !

[edit nirosis] : edit du titre simplement.
nirosis
Administrateur
Administrateur
Messages : 1803
Inscription : samedi 28 mai 2005, 14:48
Localisation : Orsay, France

Message non lu par nirosis »

Bonjour à toi

Essaie d'interpoler tes données avec Matlab ou Maple par exemple.
Voir fonction "spline" en général.
Ainsi tu obtiens une "équation formelle" pour tes données.

Après tu en fais ce que tu veux : dérivation, intégration etc...
antZ

Message non lu par antZ »

salut , merci pour ta réponse.
Je bosse avec matlab justement.
Je suis en train de chercher autour de la fonction spline.
La fonction retourne y pour un x donné .. C'est presque ce que je veux, il faudrait que je trouve l'equation.
Est ce que tu peux m'en dire un tout petit peu plus sur les fonctions de matlab qui permettent d'aller jusqu'à l'équation ?
nirosis
Administrateur
Administrateur
Messages : 1803
Inscription : samedi 28 mai 2005, 14:48
Localisation : Orsay, France

Message non lu par nirosis »

Je te retrouve ce que j'ai fait dans mes codes et je reviens !

Voilà un exemple où j'intègre des données discrètes en utilisant une interpolation.

Code : Tout sélectionner

%Définir l'intervalle de TEMPS et le tempo des mesures
% entre 0 et 10s , tempo = 1 ms
a = 0; b = 10; t=.1 ;

x = a:t:b; 

%%% datas enregistrées %%%
y = x.^2; % fonction discrétisée (une mesure de vitesse par exemple !)

pp = spline(x,y); % interpolation par spline, renvoie une structure exploitable par ppval

myfun2 = @(t,y) ppval(pp,t); % ppval renvoie la valeur du spline au temps t, t quelconque... on a rendu "continue" la fonction en fait...

[T,Y] = ode45(myfun2,x,0); % intégration en a et b avec le pas donné et la valeur initiale donnée... renvoi le vecteur temps T et les valeurs de la primitive en chaque instant (ndlr la position ici)

plot(T,Y,x,y)
The Duke

Re: [Matlab] Approximation de données discretes

Message non lu par The Duke »

@antZ: avez vous réussi a arriver à l'equation ?