Άθροισμα κατά γραμμή και στήλη πίνακα στο Octave/matlab

Η συνάρτηση sum υπολογίζει αθροίσματα σε πίνακες και διανύσματα. Η εφαρμογή της σε διάνυσμα έχει το ίδιο αποτέλεσμα, είτε πρόκειται για διάνυσμα στήλη, είτε πρόκειται για διάνυσμα γραμμή. Η εφαρμογή της ωστόσο σε πίνακες δύο διαστάσεων έχει κάποια χαρακτηριστικά που καλό είναι να τα γνωρίζετε.

Αθροίσματα σε πίνακες μιας διάστασης

Έστω το διάνυσμα γραμμή:

octave:> x = [ 1 2 3 4 ]
x =

   1   2   3   4

Το άθροισμα (sum) του διανύσματος x:

octave:> sum(x)
ans =  10

Το άθροισμα (sum) του διανύσματος x':

octave:> sum(x)
ans =  10

Το ανάστροφο του αθροίσματος του διανύσματος x:

octave:> sum(x)'
ans =  10

Δηλαδή, sum(x) = sum(x') = sum(x)'

Το ίδιο θα παίρναμε, αν το x ήταν διάνυσμα στήλη:

octave:> x = [ 1 2 3 4 ]'
x =

   1
   2
   3
   4

octave:28> sum(x)
ans =  10
octave:29> sum(x')
ans =  10
octave:30> sum(x)'
ans =  10

Αθροίσματα σε πίνακες δύο διαστάσεων

Έστω ο πίνακας:

octave:> x = [ 1 2; 3 4 ]
x =

   1   2
   3   4

Τα αθροίσματα κατά στήλη:

octave:> sum(x)
ans =

   4   6

Προσέξτε! Το αποτέλεσμα είναι ένα διάνυσμα γραμμή, με τόσες στήλες όσες και οι στήλες του χ. Μπορείτε να πάρετε το αποτέλεσμα σε διάνυσμα στήλη ως εξής:

octave:> sum(x)'
ans =

   4
   6

Αν θέλετε να πάρετε το άθροισμα κατά γραμμή, θα πρέπει να αναστρέψετε τον πίνακα:

octave:> sum(x')
ans =

   3   7

Τέλος, αν θέλετε το άθροισμα όλων των στοιχείων ενός πίνακα δύο διαστάσεων θα πρέπει να καλέσετε δύο φορές τη συνάρτηση sum:

octave:> x = [ 1 2; 3 4 ]
x =

   1   2
   3   4

octave:> sum(sum(x))
ans =  10

Συνδεθείτε για περισσότερες δυνατότητες αλληλεπίδρασης,
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.

Creative Commons License
Εκπαιδευτικό υλικό από τον Αθανάσιο Σταυρακούδη σας παρέχετε κάτω από την άδεια Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.