10/01/10 12:37
stella.p
Ciao a tutti, ho un problema con QUESTO codice: non riesco ad inserire le parti della traccia del codice scritte in maiuscolo.. Spero che qualcuno mi possa dare una mano!! Grazie mille a tutti..
Scrivere un programma C++ che realizza il metodo di Newton - USANDO APPROSSIMAZIONI ALLE DIFFERENZE CENTRALI CON PASSO 1.e-3 DEI VALORI DELLE DERIVATE - e utilizzarlo per approssimare le radici dell' equazione (x^2)-2 con tolleranza 1.e-6. LE VARIABILI DEVONO ESSERE SALVATE IN DOPPIA PRECISIONE IN MODO CHE LA PROCEDURA SIA SUFFICIENTEMENTE STABILE. #include <stdio.h> #include <stdlib.h> #include <math.h> // prototipi funzioni double newton(double); double f(double); double derivata(double); double tg_x_axis(double); main () { double x,newx,errore,eps; int counter; printf("\n********** QUESTO PROGRAMMA CALCOLA LA RADICE DI x^2-2=0 *********"); printf("\n\n\n"); printf("\n\nInserire il valore del punto iniziale,"); printf("\n\n x= "); scanf("%lf",&x); printf("\n\nInserire la tolleranza: "); scanf("%f",&eps); counter=0; do { newx=tg_x_axis(x); counter++; errore=fabs(x-newx); x=newx; } while (errore>eps&&counter<100); printf("\n\nLa radice dell'equazione e': %f",newx); system("PAUSE");return 0; } // funzioni double f(double x) { double y; y=pow(x,2)-2; return y; } double derivata(double x) { double y; y=2*x; return y; } double tg_x_axis(double x) { double nuovox; nuovox=x-(f(x)/derivata(x)); return nuovox; }
aaa