Αριθμητικός υπολογισμός παραγώγου στη C++
Για τον υπολογισμό της παραγώγου μιας συνεχούς συνάρτησης χρησιμοποιούμε τον τύπο:
$$ f'(x) = \frac{f(x+h) - f(x-h)}{2h} $$ όπου h ένας πολύ μικρός θετικός αριθμός, τυπικά 1e-6.
Το παρακάτω παράδειγμα υπολογίζει την παράγωγο της συνάρτησης:
$$ f(x) = \frac{1}{2} x^3 $$
σε σημείο x, h, τα οποία εκχωρεί ο χρήστης. Η ακρίβεια του υπολογισμού μεγαλώνει, όσο μικραίνει το h.
#include <iostream> #include <stdio.h> #include <math.h> using namespace std; double f (double x) { return 0.5 * pow(x, 3.0); } int main() { double x, y, d, h; cout << "Σε ποιο x? "; cin >> x; cout << "Με ποιο h? "; cin >> h; y = f(x); d = (f(x+h) - f(x-h)) / (2.0*h); cout << "Η τιμή της συνάρτησης ισούται με : " << y << endl; cout << "Η παράγωγος ισούται με : " << d << endl; //printf("Η παράγωγος ισούται με : %.8f\n", d); return 0; }
Δοκιμάστε διάφορες τιμές του h, στο ίδιο x. Δείτε το αποτέλεσμα με cout ή printf.
Μεταγλώττιση και δοκιμαστική εκτέλεση:
astavrak@apollonia:~$ g++ program.cpp astavrak@apollonia:~$ ./a.out Σε ποιο x? 2 Με πόση ακρίβεια? 1e-3 Η τιμή της συνάρτησης ισούται με : 4 Η παράγωγος ισούται με : 6 Η παράγωγος ισούται με : 6.00000050
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.
Εκπαιδευτικό υλικό από τον
Αθανάσιο Σταυρακούδη
σας παρέχετε κάτω από την άδεια
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.