codigo de series de Taylor en C
Publicado por montse (1 intervención) el 10/12/2002 12:20:04
Necesitamos un codigo en programacion en C sobre el logaritmo i la integral del seno. Me podria ayudar alguien? Gracias!!!
Valora esta pregunta


0
#include <stdio.h>
#include <math.h>
// Función para calcular el logaritmo natural usando la serie de Taylor
double taylorLog(double x) {
if (x <= 0) {
printf("El logaritmo natural no está definido para x <= 0\n");
return NAN; // Retorna "no es un número" para valores inválidos
}
double result = 0.0;
double term = (x - 1) / (x + 1);
double termSquared = term * term;
double currentTerm = term;
for (int n = 1; n <= 100; n += 2) {
result += currentTerm / n;
currentTerm *= termSquared; // Calcula el siguiente término
}
return 2 * result; // Multiplica por 2 para obtener el logaritmo natural
}
// Función para calcular la integral del seno usando la serie de Taylor
double taylorSineIntegral(double x) {
double result = 0.0;
double term = x; // Primer término de la serie
int n = 1;
while (fabs(term) > 1e-10) { // Continuar hasta que el término sea suficientemente pequeño
result += term / n; // Agregar el término actual
term *= -x * x / ((2 * n) * (2 * n + 1)); // Calcular el siguiente término
n++;
}
return result; // Retorna la integral del seno
}
int main() {
double x;
// Cálculo del logaritmo natural
printf("Ingrese un valor para calcular el logaritmo natural: ");
scanf("%lf", &x);
double logResult = taylorLog(x);
if (!isnan(logResult)) {
printf("Logaritmo natural de %.2f es: %.6f\n", x, logResult);
}
// Cálculo de la integral del seno
printf("Ingrese un valor para calcular la integral del seno: ");
scanf("%lf", &x);
double sineIntegralResult = taylorSineIntegral(x);
printf("Integral del seno de %.2f es: %.6f\n", x, sineIntegralResult);
return 0;
}