C/Visual C - coseno seno

 
Vista:

coseno seno

Publicado por Seeper (1 intervención) el 03/12/2002 02:57:23
Hola, estoy haciendo una practica de programación en C y tengo un pequeño problema, la cuestion es que tengo que calcular el seno y el coseno de un dato introducido por el teclado mediante los desarrollos de Taylor, y tengo el siguiente algoritmo que nos ha dejado el profesor.


float coseno(float radianes)
{
float PI=3.141596654;
float COSENO=0;
int i;

/* Los radianes se convierten +/-2 PI */
radianes=int(radianes/(2*PI))*2*PI-radianes;
/* Siete primeros terrminos de la serie de Taylor*/
for (i=0;i<=6;i++)
{
COSENO=COSENO+potencia(radianes,2*i)*potencia(-1,i)/factorial(2*i);
}
return COSENO;
}


Lo que me pasa despues de introducir este algoritmo es que no me calcula el coseno, el resultado no es el que debería. Asique si alguien es tan amable de decirme donde puedo encontrar el desarrollo del coseno y del seno para que me calcule bien el resultado se lo agradecería. Saludos...!!
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 seno y coseno usando la serie de Taylor

Publicado por Alejandro (1190 intervenciones) el 22/04/2025 22:29:02
Seeper, para calcular el seno y el coseno de un ángulo utilizando la serie de Taylor, es importante asegurarse de que las funciones de potencia y factorial estén correctamente implementadas. A continuación, te muestro cómo puedes implementar ambas funciones, así como el cálculo del seno y el coseno utilizando la serie de Taylor.

Implementación de las funciones de potencia y factorial



Primero, asegúrate de tener las funciones `potencia` y `factorial` definidas correctamente:

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
58
59
60
61
62
63
64
65
66
67
68
#include <stdio.h>
 
// Función para calcular la potencia
float potencia(float base, int exponente) {
    float resultado = 1.0;
    for (int i = 0; i < exponente; i++) {
        resultado *= base;
    }
    return resultado;
}
 
// Función para calcular el factorial
int factorial(int n) {
    if (n == 0 || n == 1) {
        return 1;
   }
    int resultado = 1;
    for (int i = 2; i <= n; i++) {
        resultado *= i;
    }
    return resultado;
}
 
// Función para calcular el coseno usando la serie de Taylor
float coseno(float radianes) {
    float COSENO = 0;
    int i;
 
    // Ajustar los radianes a +/- 2 PI
    float PI = 3.141596654;
    radianes = radianes - (int)(radianes / (2 * PI)) * 2 * PI;
 
    // Siete primeros términos de la serie de Taylor
    for (i = 0; i <= 6; i++) {
        COSENO += potencia(radianes, 2 * i) * potencia(-1, i) / factorial(2 * i);
    }
    return COSENO;
}
 
// Función para calcular el seno usando la serie de Taylor
float seno(float radianes) {
    float SENO = 0;
    int i;
 
    // Ajustar los radianes a +/- 2 PI
    float PI = 3.141596654;
    radianes = radianes - (int)(radianes / (2 * PI)) * 2 * PI;
 
    // Siete primeros términos de la serie de Taylor
    for (i = 0; i <= 6; i++) {
        SENO += potencia(radianes, 2 * i + 1) * potencia(-1, i) / factorial(2 * i + 1);
    }
    return SENO;
}
 
int main() {
    float radianes;
 
    // Solicitar al usuario que introduzca un ángulo en radianes
    printf("Introduce el ángulo en radianes: ");
    scanf("%f", &radianes);
 
    // Calcular y mostrar el coseno y el seno
    printf("Coseno: %f\n", coseno(radianes));
    printf("Seno: %f\n", seno(radianes));
 
    return 0;
}

Explicación del código:



1. Funciones de potencia y factorial: Se definen las funciones `potencia` y `factorial` para calcular la potencia de un número y el factorial de un número entero, respectivamente.

2. Cálculo del coseno: La función `coseno` utiliza la serie de Taylor para calcular el coseno. Se ajustan los radianes a un rango de `-2π` a `2π` y se suman los primeros siete términos de la serie.

3. Cálculo del seno: La función `seno` se implementa de manera similar, utilizando la serie de Taylor para calcular el seno.

4. Función principal: En `main`, se solicita al usuario que introduzca un ángulo en radianes y se muestran los resultados del coseno y el seno.

Notas:



- Asegúrate de que el valor de `PI` sea lo suficientemente preciso para tus cálculos.
- Puedes aumentar el número de términos en la serie de Taylor para mejorar la precisión de los resultados.
- Recuerda que los ángulos deben estar en radianes. Si tienes un ángulo en grados, conviértelo a radianes multiplicando por `π/180`.

Con esta implementación, deberías obtener resultados correctos para el coseno y el seno.
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