Forcer l'ajustement d'une spline sur des points extrêmes donnés

Rithwik

J'ai un ensemble de points qui, lorsqu'ils sont connectés par des lignes droites, ressemblent à ceux indiqués ci-dessous : Ajustement linéaire

Comme on le voit dans l'ajustement linéaire, les points auxquels les courbes sont ajustées sont censés être des extrema de la courbe, c'est-à-dire des maxima et des minima locaux.

Je veux ajuster une spline ou une courbe lisse à travers ces points de telle sorte que ces points restent les maxima/minima locaux. J'utilisais python, mais tout algorithme permettant de faire ce qui précède dans n'importe quel langage ou même en mathématiques simples est apprécié.


J'ai essayé d'utiliser InterpolatedUnivariateSplinede scipy.interpolate, et les résultats pour les degrés 2 et 3 sont affichés ci-dessous :

Commander 2 Fit

Commander 3 Fit

La courbe d'ordre 2 se rapproche du résultat souhaité, mais y a-t-il un moyen pour que je puisse imposer la condition que ces points restent les extrema ?

ev-br

Pour ces données comme indiqué, PchpInterpolator ferait probablement l'affaire.

La raison en est que l'algorithme force une pente nulle au point de données si les pentes linéaires à gauche et à droite ont des signes différents.

Démo :

>>> from scipy.interpolate import pchip
>>> xx = np.arange(9)
>>> yy = np.cos(xx*2*np.pi/8) + 0.4*(-1)**(xx)
>>> pch = pchip(xx, yy)
>>> pch(xx, nu=1)   # derivative at data points

array([-1.68578644,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  1.68578644])

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Comment créer une courbe spline DXF à l'aide de points d'ajustement?

Déplacer des points de données sur la meilleure ligne d'ajustement à l'aide de python

Ajustement d'une fonction spline dans R pour interpoler les valeurs quotidiennes à partir des valeurs mensuelles

Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

L'ajustement d'une seule gaussienne à des données « bruyantes » donne un mauvais ajustement dans certains cas

Utilisation d'une largeur fixe sur un élément flexible et ajustement des autres éléments en conséquence

Python - faire l'ajustement des moindres carrés sur les données de séries chronologiques?

Création d'une nouvelle colonne basée sur l'ajustement des pondérations d'autres colonnes

Création d'une courbe en S basée sur des points de données

Dans l'unité, calculez les points d'une distance donnée perpendiculairement à une ligne à des angles sur un cercle

Ajustement d'une courbe dans les points

Prédiction à l'aide d'un ajustement spline ns (glmer avec ns spline)

Extraire des vecteurs d'une liste basée sur des éléments donnés

.NET - c # - Une requête de partition croisée est requise mais des problèmes désactivés sur l'accès aux données DocumentDB

Comment trouver des points le long d'une courbe spline 3D dans SciPy?

Calcul des points d'intersection de 3 lignes horizontales et d'une spline cubique

créer des cercles sur une spline

Problèmes liés à l'ajustement de curve_fit à des données hautement corrélées

Extraire le coin (points extrêmes) du quadrilatère à partir d'une image noir/blanc à l'aide d'OpenCV C++

Comment attribuer des points / scores basés sur la détection de mots dans une trame de données?

Génération DXF à l'aide d'ezdxf : polyligne contenant des points de lissage de spline

Trouvez des points externes extrêmes dans l'image avec Python OpenCV

Alternatives à la régression linéaire pour l'ensemble de données avec de nombreux points avec une petite valeur et quelques valeurs extrêmes

Comment ajouter des lignes sur des ggplots combinés, des points d'un tracé à des points de l'autre?

Ajustement de différents points de contact sur l'objet

Ajustement des étiquettes de formation sur une liste 2D dans Scikit-learn

Forcer le contenu des colonnes à avoir la même hauteur sur plusieurs points d'arrêt

Sélection d'éléments sur une matrice basée sur des indices donnés par un tableau

Cas d'utilisation d'Apache Spark pour l'ajustement de modèle itératif sur des ensembles de données plus petits

TOP liste

  1. 1

    Créer un dictionnaire à partir d'une liste de clés et de plusieurs listes de valeurs en Python

  2. 2

    Spring Reactive: java.io.IOException: Une connexion établie a été abandonnée par le logiciel de votre machine hôte, lorsque je ferme la connexion

  3. 3

    Créer un arbre binaire à partir d'une liste de listes en Python

  4. 4

    Comment obtenir l'image actuelle dans un flux en direct avec python et opencv ?

  5. 5

    Comment puis-je ajouter une entrée utilisateur à une liste de contrôle, puis la placer dans une étiquette?

  6. 6

    Comment séparer les cartes qui se chevauchent les unes des autres en utilisant python opencv?

  7. 7

    how to convert the type of each element in a list to a list in python

  8. 8

    impossible de charger le fichier ou l'assembly 'microsoft.sqlserver.management.sdk.sfc version = 11.0.0.0

  9. 9

    Définition de la fonction de programmation Visual Studio C

  10. 10

    La méthode GET n'est pas prise en charge pour cette route. Méthodes prises en charge : POST

  11. 11

    impossible d'ouvrir un nouvel onglet dans react, ajoute localhost: 3000 sur le lien?

  12. 12

    Comment trouver efficacement les valeurs min et max des variables dans ce système de contraintes?

  13. 13

    comment créer un champ de recherche dans gridview sans utiliser le modèle de recherche

  14. 14

    Trouver l'intersection et l'union de deux rectangles

  15. 15

    Détection d'affiche dans OpenCV?

  16. 16

    Comment changer la couleur de la police dans R?

  17. 17

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  18. 18

    comment le contrôle de tableau javascript devrait-il être

  19. 19

    Référencement des assemblys de structure .net 4.7 dans la solution .net core 2

  20. 20

    J'ai besoin de savoir si ces deux phrases sont les mêmes en programmation

  21. 21

    SignalR cesse de fonctionner après un certain temps

chaudétiquette

Archive