Partage
  • Partager sur Facebook
  • Partager sur Twitter

déterminer les extemums d'une courbe avec MATLAB

13 octobre 2017 à 18:46:13

Bonjour,

j'ai un soucis avec matlab :

J'ai des données expérimentales qui me donnent une courbe avec des variations, cette courbe j'ai pu la fiter avec une série de Fourier d'ordre 14.

Ce fit me donne un vecteur Y en sortie avec toutes les données de cette courbe fitée en fonction de x.

Maintenant je veux trouver les maximums et minimums de cette courbe, autrement dit en calculer la dérivée puis récupérer les valeurs pour laquelle la dérivée s'annule.

Donc je peux avoir la dérivée si je fais dY = diff(Y)./diff(x). Le plot est tout à fait cohérent, la dérivée passe par 0 quand Y passe par un extremum.

C'est maintenant que ça ce corse  : pour avoir les points où la dérivée s'annule je fais dY0 = dY(dY < lim & dY > -lim).

Or dY passe par 0 avec des pentes très variables, très abruptes à certains endroits et doucement à d'autres, par conséquent les points sont très espacés là ou c'est abrupt et très rapproché la où c'est lent.

Du coup aucune valeur de lim ne marche, par exemple si je prend lim=0.001 alors il va me trouver 4 ou 5 points qui correspondent au niveau d'une seul passage par 0 là ou les variations sont lentes, et aucun point là ou ca passe par 0 avec une pente abrupte.

J'ai essayé d'interpoler mais en fait ça marche pas non plus vu qu'aun final ça resserre aussi aux endroits ou c'est lent.

J'ai aussi récupéré la forme analytique du fit, mais le soucis revient.

Du coup je sais vraiment pas comment faire :(

  • Partager sur Facebook
  • Partager sur Twitter
13 octobre 2017 à 23:07:48

hello. 

Ce que tu peux faire afin de trouver les points ou la dérivée s'annule est de regarder a chaque fois deux dérivée successive et de voir si elle change de signe. si elle change de signe : la dérivée est nulle entre les deux points et tu as le lieux potentiel de ton max ;)

  • Partager sur Facebook
  • Partager sur Twitter
14 octobre 2017 à 12:55:23

Merci j'y avais pas pensé, j'vais tenter ça :)
  • Partager sur Facebook
  • Partager sur Twitter
22 septembre 2021 à 7:20:37

Salut je voudrais savoir comment retrouver les extrema avec Matlab.
  • Partager sur Facebook
  • Partager sur Twitter
22 septembre 2021 à 7:56:14

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP, le forum est là pour ça :)