En quoi la situation serait un développement en série de taylor pour un polynôme est-elle nécessaire?

StackOverflow https://stackoverflow.com//questions/12678277

Question

Je vais avoir du mal à comprendre pourquoi il serait utile d'utiliser le développement en série de Taylor pour une fonction afin d'obtenir une approximation d'une fonction, au lieu d'utiliser la fonction elle-même lors de la programmation.Si je peux dire à mon ordinateur pour le calcul de e^(.1) et il va me donner une valeur exacte, pourquoi devrais-je prendre une approximation à la place?

Était-ce utile?

La solution

La série de Taylor sont généralement pas utilisé pour les fonctions d'approximation.Généralement, une certaine forme de polynôme minimax est utilisé.

La série de Taylor converge lentement (il faut plusieurs conditions pour obtenir la précision désirée) et sont inefficaces (ils sont plus précis près du point autour duquel ils sont centrés et moins précis loin de lui).L'utilisation la plus importante de la série de Taylor est probablement en cours de mathématiques et de papiers, où ils sont utiles pour examiner les propriétés des fonctions et de l'apprentissage sur le calcul.

Pour les fonctions d'approximation minimax polynômes sont souvent utilisés.Un polynôme minimax a le minimum possible de l'erreur maximale pour une situation particulière (intervalle sur lequel une fonction est d'être approximée degré disponible pour le polynôme).Il n'y a généralement pas de solution analytique à la recherche d'un polynôme minimax.Ils sont trouvés numériquement, à l'aide de la L'algorithme de Remez.Minimax polynômes peuvent être adaptés pour répondre à des besoins particuliers, tels que la minimisation de l'erreur relative ou absolue de l'erreur, l'approximation d'une fonction sur un intervalle particulier, et ainsi de suite.Minimax polynômes ont besoin de moins de termes de la série de Taylor pour obtenir des résultats acceptables, et qu'ils “se propager” l'erreur sur l'intervalle au lieu d'être meilleur dans le centre et le pire à la fin.

Lorsque vous appelez la exp la fonction de calcul de ex, vous êtes probablement à l'aide d'un polynôme minimax, parce que quelqu'un a fait le travail pour vous et construit une routine de bibliothèque qui évalue le polynôme.Pour la plupart, la seule arithmétique processeurs d'ordinateur peut faire est de l'addition, la soustraction, la multiplication et la division.Si d'autres fonctions doivent être construits à partir de ces opérations.Les trois premières de vous donner des polynômes, et les polynômes sont suffisantes pour approximative de nombreuses fonctions, telles que sinus, cosinus, logarithme et exponentiel (avec quelques opérations de déplacer des choses dans et hors de l'exposant champ de valeurs à virgule flottante).Division ajoute des fonctions rationnelles, ce qui est utile pour des fonctions comme l'arctangente.

Autres conseils

Pour deux raisons. Tout d'abord, la plupart des processeurs n'ont pas de mises en œuvre matérielles d'opérations complexes telles que des exponentielles, des logarithmes, etc. Dans de tels cas, le langage de programmation peut fournir une fonction de bibliothèque pour l'informer - en d'autres termes, une série de taylor ou une autre approximation Pour vous.

Deuxièmement, vous pouvez avoir une fonction que même la langue prend en charge.

Je voulais récemment utiliser des tables de recherche avec interpolation pour avoir un angle, puis calculer le péché () et le cos () de cet angle. Le problème est que c'est un DSP sans point flottant et aucune fonction trigonométrique, de sorte que ces deux fonctions sont vraiment lentes (mise en œuvre du logiciel). Au lieu de cela, j'ai mis le péché (x) dans la table au lieu de x, puis utilisé la série Taylor pour y= sqrt (1-x * x) pour calculer le COS (x) à partir de celui-ci. Cette série Taylor est précise sur la plage dont j'avais besoin avec seulement 5 termes (les dénominateurs sont tous pouvoirs de deux!) Et peuvent être mis en œuvre dans un point fixe à l'aide de CLAIR C et génère du code plus rapide que toute autre approche que je pouvais penser.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top