Duda de funciones programacion en C
Publicado por ale (14 intervenciones) el 25/03/2020 04:08:46
El problema dice así:
Los polinomios de Legendre se pueden calcular mediante las fórmulas Po = 1, P1 = x,
P(n) = [(2n - 1)/n] . P(n-1) - [n - I)/n]. P(n-2),
en donde n = 2, 3, 4, oo., y x es un número en coma flotante entre -1 y 1. (Advertir que los
coeficientes de los polinomios de Legendre son cantidades en coma flotante.)
Generar los n primeros polinomios. Los valores de n y x deben ser parámetros de entrada.
Lo he resuelto pero el valor final del polinomio me sale el mismo valor que el x introducido.Cual es mi error. Dejo el codigo que usé.(programacion en C)
Los polinomios de Legendre se pueden calcular mediante las fórmulas Po = 1, P1 = x,
P(n) = [(2n - 1)/n] . P(n-1) - [n - I)/n]. P(n-2),
en donde n = 2, 3, 4, oo., y x es un número en coma flotante entre -1 y 1. (Advertir que los
coeficientes de los polinomios de Legendre son cantidades en coma flotante.)
Generar los n primeros polinomios. Los valores de n y x deben ser parámetros de entrada.
Lo he resuelto pero el valor final del polinomio me sale el mismo valor que el x introducido.Cual es mi error. Dejo el codigo que usé.(programacion 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
#include<stdio.h>
float polinomio(int n, float x){
if(n==0){
return (1);}
else if (n==1){
return (x);}
else{
return polinomio(n-1,x)*((2*n-1)/n)-polinomio(n-2,x)*((n-1)/n);}
}
main(){
int n;
float x;
printf("Digite el valor de n ");
scanf("%i",&n);
printf("Digite el valor de x ");
scanf("%f",&x);
if(x<1 && x>-1){
printf("El valor del polinomio es %f ",polinomio(n,x));}
else{printf("x tiene que pertenecer al rango de <-1,1>");
}
}
Valora esta pregunta


0