Άθροισμα υπό συνθήκη στοιχείων πίνακα στο Octave/matlab
Ας δούμε πως μπορούμε να κάνουμε άθροισμα υπό συνθήκη σε στοιχεία ενός πίνακα, κάτι αντίστοιχο με τη συνάρτηση sumif του Excel/OpenCalc. Το Octave (ή το matlab) δε διαθέτουν αντίστοιχη συνάρτηση. Η δυνατότητα ωστόσο να κάνουμε πράξεις με πίνακες μας λύνουν τα χέρια.
Έστω λοιπόν ο πίνακας :
octave:> x = [0 1 2 3 0 1 2 1] x = 0 1 2 3 0 1 2 1
Έστω πως θέλουμε να υπολογίσουμε το άθροισμα των στοιχείων που είναι μεγαλύτερα από ή ίσα με το 2.
-
Κατασκευή του πίνακα αληθείας της συνθήκης:
octave:> y = (x>=2) y = 0 0 1 1 0 0 1 0
-
Πολλαπλασιασμός στοιχείο προς στοιχείο:
octave:> x.*y ans = 0 0 2 3 0 0 2 0
-
Άθροιση:
octave:> sum(x.*y) ans = 7
Ή, αν θέλετε, πιο όμορφα:
octave:> sum(x.*(x>=2)) ans = 7
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.
Εκπαιδευτικό υλικό από τον
Αθανάσιο Σταυρακούδη
σας παρέχετε κάτω από την άδεια
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.