Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Secante C
Secante C
iciales p0 p1
Entrada: p0,p1,tol,N
Salida:p,mensaje de fracaso
*/
#include<stdio.h>
#include<math.h>
graficar(){
FILE *fp2;
fp2=fopen("script.plt","w");
fprintf(fp2,"g(x)=x**3+4*(x**2)-10.0 \n");
fprintf(fp2,"set grid \n");
fprintf(fp2,"set title 'punto fijo' \n");
fprintf(fp2,"set xrange [1.2:1.5] \n");
fprintf(fp2,"plot g(x) w l lt 1 \n");
fprintf(fp2,"pause mouse \n");
fprintf(fp2," replot 'datosc.dat' w lp lt 1 lc 3 lw 1 pt 2 \n");
fprintf(fp2,"pause mouse \n");
// fprintf(fp2,"set terminal postscript eps enhanced color \n");
//fprintf(fp2,"set output 'puntofijo.ps' \n");
//fprintf(fp2,"set encoding iso_8859_1 \n");
//fprintf(fp2,"replot \n");
fprintf(fp2,"exit \n");
fclose(fp2);
system("gnuplot script.plt");
return(0);
}
double f(double x){
return(pow(x,3)+4.0*pow(x,2)-10.0);
}
main(){
double p0,p1,p,tol;
int i,N;
FILE *fp;
fp=fopen("datosc.dat","w");
printf("ingrese p0 y p1: ");
scanf("%lf" "%lf",&p0,&p1);
printf("Ingrese tol=");
scanf("%lf",&tol);
printf("Ingrese N=");
scanf("%d",&N);
//P1
i=2;
//P2
while(i<=N){
//P3
p=p1-f(p1)*(p0-p1)/(f(p0)-f(p1));
fprintf(fp,"%lf \t %lf \n",p0,f(p0));
fprintf(fp,"%lf \t %lf \n",p1,f(p1));