Se considera que un polinomio p(x) de coeficientes reales se puede representar mediante un array de números reales, a (así, el primer elemento, a[0], es el término independiente del polinomio, el segundo elemento, a[1], es el coeficiente que multiplica a x, el tercer elemento , a[2], es el coeficiente que multiplica a x2;... etc
El metodo constructor del polinomio es el siguiente
Código:
El algoritmo para evaluar el polinomio de forma directa es el siguientepublic Polinomio (int j) { a = new double[j+1]; for (int i=0; i<=j; i++) a[i] = j+1-i; }
Código:
Y el que yo he desarrollado en funcion de eso es el siguiente : algoritmo evaluar_directo (a,x) valor = a[0]; desde i = 1 hasta n hacer y = x; desde j = 2 hasta i hacer y = y * x; valor = valor + a[i] *y; devolver valor;
Código:
El problema en cuestion esta que no entiendo la parte en rojo del bucle. 'j' nunca va a poder ser menor o igual que 'i', no?public double evaluar_directo (double x) { double valor = a[0]; int n = a.length; double y = 0; for(int i = 1; i<=n; i++){ y = x; for(int j = 2; j<=i; j++){ y = y * x;} valor = valor +a[i] * y; } return valor; }
No se si es que no estoy haciendo el metodo segun el algoritmo por eso necesito vuesta ayuda a ver si me podeis orientar un poco.
Saludos