Solución del algoritmo NS en ordenadores universitarios
Segundo método: Método exhaustivo: suponga que hay A, B, C y luego enumere todos los abc para que la ecuación sea verdadera, solo para hacer un ciclo triple.
Tercero: Red de Referencia
El método de Newton, también conocido como método de Newton-Raphson, es un método aproximado para resolver ecuaciones en los campos reales y complejos propuesto por Newton en el siglo XVII. . La mayoría de las ecuaciones no tienen fórmulas de raíz, por lo que es difícil o incluso imposible encontrar raíces exactas, por lo que es particularmente importante encontrar raíces aproximadas de ecuaciones. El método utiliza los primeros términos de la serie de Taylor de la función f(x) para encontrar la raíz de la ecuación f(x) = 0. El método de iteración de Newton es uno de los métodos importantes para encontrar las raíces de ecuaciones. Su mayor ventaja es que tiene convergencia cuadrada cerca de la raíz única de la ecuación f(x) = 0. También se puede utilizar para encontrar las raíces múltiples y las raíces complejas de la ecuación. En este momento, converge linealmente, pero. puede convertirse en convergencia superlineal a través de algunos métodos. Además, este enfoque se utiliza ampliamente en la programación informática.
Doble función(doble x) //Función
{
Retorno x * x * x * x-3 * x * x * x 1.5 * x * x-4.0;
}
Doble func1(doble x) //Función derivada
{
Retorno 4 * x * x * x-9 * x * x 3 * x;
}
Intnewton (doble * x, doble precisión, int max cyc)//Número de iteraciones
{
doble x1, x0;
int k;
x0 = * x
for(k = 0; ; k ltmaxcyck )
{
If(func1(x0)==0.0)//Si se pasa el valor inicial, la función devuelve 0.
{
Printf("¡La derivada es 0 durante la iteración! \ n ");
Devuelve 0; p >
x 1 = x0-func(x0)/func 1(x0); //Realiza el cálculo iterativo de Newton.
if(fabs(x 1-x0) lt; precision | | fabs(func(x 1)) lt; Precision) //Se alcanza la condición final.
{
* x = x 1; //Devuelve resultado
Devuelve 1;
}
De lo contrario //Condición final no alcanzada.
x0 = x 1; //Prepárate para la siguiente iteración
}
Printf("¡El número de iteraciones excede lo esperado! \ n "); // Número de iteraciones Se ha logrado, pero aún no se ha logrado la precisión.
Devuelve 0;
}
int main()
{
Doble x, precisión;
int maxcyc
Printf("Ingrese el valor de iteración inicial x0: "
scanf("lf ", ampx
); Printf("Ingrese el número máximo de iteraciones:");
scanf("d", ampmaxcyc);
Printf("La precisión requerida para las iteraciones:"); p>
scanf("lf", amp precision);
if (Newton(ampx,precision,maxcyc)== 1)//Si el valor de retorno de la función es 1, p>
Printf("La raíz cerca de este valor es: lf\n ", x);
Else //Si el valor de retorno de la función es 0
Printf ("¡La iteración falló!\ n ");
getch();
Devuelve 0;
}