#include<stdio.h> #include<string.h> #include<conio.h> #include<math.h> #include<process.h> #define f(x) 3*x -cos(x) -1 #define df(x) 3 -sin(x) void nwrap(); void main(){ printf("\n Solucion por el Método de Newton Raphson \n"); printf("\n F(x): "); printf("\n\t\t\t 3*x -cos(x) -1 = 0 \n\t"); nwrap(); getch(); } void nwrap(){ float x1,x0; float f1,f0; float df0; int i=0, itr=0; float TOL; float error; for(x1=0;;x1 +=0.01){ f1=f(x1); if (f1>0){ break; } } x0 = x1-0.01; f0 = f(x0); printf("Numero de Iteraciones: "); scanf("%d",&itr); printf("Tolerancia Maxima: "); scanf("%f",&TOL); if(fabs(f0)>f1){ printf("\n\t\t La raiz es: %0.4f\n",x1); } if(f1 > fabs(f(x0))){ printf("\n\t\t La raiz es: %0.4f\n",x1); } x0 = (x0+x1)/2; for(;i<=itr;i++){ f0=f(x0); df0=df(x0); x1 = x0 - (f0/df0); printf("\n\t\t iteracion %d aproximacion: %f",i,x1); error = fabs(x1-x0); if(error < TOL){ break; } x0 = x1; } if(error > TOL){ printf("\n\n\t Iteraciones No suficientes" ); } printf("\n\n\n\t\t\t--------------------------"); printf("\n\n\t\t Raiz: %0.4f ",x1); printf("\n\n\n\t\t\t--------------------------"); }
videotutoriales de matlab, octave, numpy, python, POA, algoritmia, simulacion de procesos en ingenieria quimica, y algo de ingenieria quimica
jueves, 3 de julio de 2014
Newton-Raphson en C
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario