Υπολογισμός τετραγωνικών αποκλίσεων σε πίνακα C++
Μια τυπική εφαρμογή της χρήσης πινάκων είναι να βρεθεί η τετραγωνισμένη απόσταση από το μέσο. Αν x είναι διάνυσμα αριθμητικών τιμών, να βρεθεί η ποσότητα:
$$ (x-\bar{x})^2 $$
Για το λόγο αυτό, οι τιμές του διανύσματος x χρειάζονται δύο φορές: μία για να υπολογιστεί ο μέσος, και άλλη μία για να υπολογιστεί η διαφορά.
#include <stdio.h> #include <math.h> using namespace std; #define N 5 int main() { int i; double x[N] = {4.5, 2.3, 5.5, 6.7, 4}; double s[N]; double sum = 0; double ave = 0; for (i=0; i < N; i++) { sum += x[i]; } ave = sum / N; printf ("%5s %12s %12s\n", "i", "x", "s"); printf ("-------------------------------\n"); for (i=0; i < N; i++) { s[i] = pow(ave-x[i], 2.0); printf ("%5d %12.6f %12.6f\n", i+1, x[i], s[i]); } printf("\n"); return 0; }
Μεταγλώττιση και εκτέλεση:
astavrak@apollonia:~$ g++ program.cpp astavrak@apollonia:~$ ./a.out i x s ------------------------------- 1 4.500000 0.010000 2 2.300000 5.290000 3 5.500000 0.810000 4 6.700000 4.410000 5 4.000000 0.360000
Η στήλη x τυπώνει τα στοιχεία του πίνακα, ενώ η στήλη s τυπώνει τη τετραγωνισμένη διαφορά από τον μέσο.
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.
Εκπαιδευτικό υλικό από τον
Αθανάσιο Σταυρακούδη
σας παρέχετε κάτω από την άδεια
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.