• 21-10-2010, 04:16:17
    #1
    arkadaslar bu kodlardaki sorun nedir acaba? =/

    #include <stdio.h>
    #include <math.h>
    
    double f(double x);
    double dfdx(double x);
    int main(){
    	int i=0;
    	double x_eski = 10.0, // tahmini kok, x0
    		   x_yeni = 10.0,
    		   eps = 1.0e-3, // yakinsama kriteri
    		   hata = 100.0; // buyuk bir sayi
    		   
    	printf("%d %e\n", i, x_yeni);
    	
        while(hata > eps && i < 30){
                x_yeni=x_eski - f(x_eski)/dfdx(x_eski);
                i++;
                printf("%d %e\n", i, x_yeni);
    	    hata = fabs(x_yeni - x_eski) / fabs(x_eski);
    	    x_eski = x_yeni;
    	}
    
    	if(i == 30)
               printf("Raphson Newton yinelemesi yakinsamadý!\n");
    	return 0;
    }
    
    double f(double x){
    	return(x*x*x + x*x + x - 1.0);
    }
    
    double dfdx(double x){
    	return(3.0*x*x + 2.0*x + 1.0);
    }
  • 21-10-2010, 21:32:37
    #2
    Hocam çıktı olarak ne istediğini söyleseydin?
    Çünkü bu kodlarda bir sorun yok, çalışıyor.