C/Visual C - codigo de series de Taylor en C

 
Vista:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cálculo del logaritmo natural e integral del seno usando series de Taylor en C

Publicado por Alejandro (1153 intervenciones) el 23/04/2025 17:14:26

Código en C



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#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;
}

Explicación del código



1. Logaritmo natural: La función `taylorLog` utiliza la serie de Taylor para calcular el logaritmo natural de un número `x`. La serie se basa en la expansión de logaritmos y se calcula hasta 100 términos.

2. Integral del seno: La función `taylorSineIntegral` calcula la integral del seno utilizando su serie de Taylor. Se sigue sumando términos hasta que el término actual es suficientemente pequeño (menor que `1e-10`).

3. Entrada del usuario: En el `main`, se solicita al usuario que ingrese un valor para calcular tanto el logaritmo natural como la integral del seno.

Este código te proporcionará una base para calcular ambas funciones utilizando series de Taylor. ¡Espero que te sea útil, Montse!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar