La méthode d'implémentation de la fonction exponentielle en langage C nécessite des exemples de code spécifiques
La fonction exponentielle est une fonction courante en mathématiques. Elle est définie comme f(x) = e^x, où e est la base du logarithme népérien. En langage C, nous devons implémenter nous-mêmes la fonction exponentielle. Deux méthodes d'implémentation seront présentées ci-dessous et des exemples de code spécifiques seront donnés.
Méthode 1 : Expansion en série de Taylor
La fonction exponentielle peut être approximée à l'aide de l'expansion en série de Taylor. La formule d'expansion en série de Taylor est la suivante :
e^x = 1 + x + x^2/2 + x^3/3 ! ! + … + x^n/n ! + …
Nous pouvons écrire une boucle basée sur la formule d'expansion en série de Taylor pour calculer la valeur approximative de la fonction exponentielle. Voici un exemple de code spécifique :
#include <stdio.h> double power(double x, int n) // 计算 x 的 n 次方 { double result = 1.0; for (int i = 0; i < n; i++) { result *= x; } return result; } double factorial(int n) // 计算 n 的阶乘 { double result = 1.0; for (int i = 1; i <= n; i++) { result *= i; } return result; } double exponential(double x, int n) // 使用泰勒级数展开计算指数函数的近似值 { double result = 0.0; for (int i = 0; i <= n; i++) { result += power(x, i) / factorial(i); } return result; } int main() { double x = 1.0; // 指数函数的自变量 int n = 10; // 近似的级数项数 double result = exponential(x, n); printf("e^%f = %f ", x, result); return 0; }
Méthode 2 : Expansion en série entière
Une autre façon d'implémenter la fonction exponentielle consiste à utiliser la formule d'expansion en série entière est la suivante :
e^x = 1 +. x/ 1 ! + x^2/2 ! + x^3/3 ! + … + x^n/n + …
Semblable au développement en série de Taylor, nous pouvons écrire une boucle pour calculer l'exposant en fonction de la puissance. formule d'expansion en série approximation de la fonction. Voici un exemple de code spécifique :
#include <stdio.h> double power(double x, int n) // 计算 x 的 n 次方 { double result = 1.0; for (int i = 0; i < n; i++) { result *= x; } return result; } double factorial(int n) // 计算 n 的阶乘 { double result = 1.0; for (int i = 1; i <= n; i++) { result *= i; } return result; } double exponential(double x, int n) // 使用幂级数展开计算指数函数的近似值 { double result = 0.0; for (int i = 0; i <= n; i++) { result += power(x, i) / factorial(i); } return result; } int main() { double x = 1.0; // 指数函数的自变量 int n = 10; // 近似的级数项数 double result = exponential(x, n); printf("e^%f = %f ", x, result); return 0; }
Dans l'exemple de code ci-dessus, nous avons défini deux fonctions auxiliaires puissance et factorielle, qui sont utilisées pour calculer respectivement la puissance et la factorielle. Ensuite, nous définissons la fonction exponentielle, qui calcule une approximation d'une fonction exponentielle. Enfin, dans la fonction principale, nous utilisons la fonction exponentielle pour calculer une approximation de e^1 et imprimer le résultat.
Grâce aux deux méthodes d'implémentation ci-dessus, nous pouvons implémenter nous-mêmes la fonction exponentielle en langage C. Les deux méthodes se rapprochent de la valeur de la fonction exponentielle par expansion en série, et dans un nombre d'itérations donné, une certaine précision peut être obtenue. La méthode et le nombre d'itérations appropriés peuvent être sélectionnés selon les besoins pour obtenir une approximation de la fonction exponentielle qui répond aux exigences.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!