Documente Academic
Documente Profesional
Documente Cultură
Sol:
Para encontrar las races del polinomio debemos primero ver en que intervalo se
encuentran. El intervalo se puede encontrar por medio de un anillo, dado por la
siguiente frmula:
|a|/(|a|+am) |x| (|an|+am)/|an|
Al aplicarla resulta:
1/(1+6) |x| (6+6)/6
-Sub intervalo I
P (-2) = 33
P (-1.2) = 5.768
P (-0.6) = 0.296
P (-0.4) = 0.216
P (-1/7) 0.6559767
P (1/7) 1.548105
P (0.4) =3.384
P (0.6) =5.896
P (1.2) =22.168
P (2) =75
iterativo.
-2.7
-1.035
2.3
1.965
-2.7
0.18
-0.4
( .
( .
-0.88425
0.11575=R
2.145=S
0.45
0.5039627039627
0.5039627039627
--Segunda iteracin:
6
x
6
x
6
-3.02377622378
-0.995943077901
-1.00996994536
1.97622377622
2.0040569221
-0.009969945356=R
-3.02377622378
0.527927364013
-1.04755244756
2.5319842861=S
x =
0.5039627039627
x =
0.50002510237065
.
( .
)
)
0.500025102371
--Tercera iteracin:
6
x
6
x
6
-3.00015061422
-0.999974893849
1.99984938578
2.00002510615
-3.000015061422
0.500175724154
-1.00030122844
2.5002008303=S
1
-1.00006275845
-0.000062758447=R
x =
0.50002510237065
x =
0.5000000010083
.
( .
)
)
0.5000000010083
--Cuarta iteracin:
6
x
6
x
6
-3.00000000605
-0.999999998992
1.99999999395
2.00000000101
-3.00000000605
0.500000007058
-1.0000000121
x =
0.50002510237065
x =
0.5
x =
1
-1.00000000252
-0.000000002521=R
2.50000000807=S
( 0.000000002521)
( .
)
0.5
0.5
x| = |
0.5
0.5000000010083|=1.0083*10
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
int i,n;
float A0,A1,A2,A3,A4,A5,AM,B5,B4,B3,B2,B1,C5,C4,C3,C2;
float x0,x1,x2,y1,R,S,aux0,auxn,Er;
system("color 1f");//esta en la libreria stdlib.h
//Mensaje para el usuario
printf("**********************************************\n");
printf("***ALGORITMO DE HORNER (Division sintetica)***\n");
printf("**********************************************\n\n");
//polinomio tipo a analizar
printf("Pn(x)=a5x^5+a4x^4+a3x^3+a2x^2+a1x^1+a0 \n\n");
printf("Para cualquier polonomio con grado menor o igual a 5\n");
printf("escriba sus coeficientes:\n");
printf(" a5=");scanf("%f",&A5);
printf(" a4=");scanf("%f",&A4);
printf(" a3=");scanf("%f",&A3);
printf(" a2=");scanf("%f",&A2);
printf(" a1=");scanf("%f",&A1);
printf(" a0=");scanf("%f",&A0);
//Verificacion de si A0 es el coeficiente mayor (AM)
if(A0 != 0){//fabs() genera el valor absoluto para valores float
if(fabs(A0)>=fabs(A1) && fabs(A0)>=fabs(A2) && fabs(A0)>=fabs(A3) &&
fabs(A0)>=fabs(A4) && fabs(A0)>=fabs(A5)){
AM=fabs(A0);
}
}
//Verificacion de si A1 es el coeficiente mayor (AM)
if(A1 != 0){
if(fabs(A1)>=fabs(A0) && fabs(A1)>=fabs(A2) && fabs(A1)>=fabs(A3) &&
fabs(A1)>=fabs(A4) && fabs(A1)>=fabs(A5)){
AM=fabs(A1);
}
}
//Verificacion de si A2 es el coeficiente mayor (AM)
if(A2 != 0){
if(fabs(A2)>=fabs(A0) && fabs(A2)>=fabs(A1) && fabs(A2)>=fabs(A3) &&
fabs(A2)>=fabs(A4) && fabs(A2)>=fabs(A5)){
AM=fabs(A2);
}
}
//Verificacion de si A3 es el coeficiente mayor (AM)
if(A3 != 0){
if(fabs(A3)>=fabs(A0) && fabs(A3)>=fabs(A1) && fabs(A3)>=fabs(A2) &&
fabs(A3)>=fabs(A4) && fabs(A3)>=fabs(A5)){
AM=fabs(A3);
}
}
//Verificacion de si A4 es el coeficiente mayor (AM)
if(A4 != 0){
if(fabs(A4)>=fabs(A0) && fabs(A4)>=fabs(A1) && fabs(A4)>=fabs(A2) &&
fabs(A4)>=fabs(A3) && fabs(A4)>=fabs(A5)){
AM=fabs(A4);
}
}
//Verificacion de si A5 es el coeficiente mayor (AM)
if(A5 != 0){
if(fabs(A5)>=fabs(A0) && fabs(A5)>=fabs(A1) && fabs(A5)>=fabs(A2) &&
fabs(A5)>=fabs(A3) && fabs(A5)>=fabs(A4)){
AM=fabs(A5);
}
}
Er(X%d)=%0.9f ",i,x0,i-1,Er);