Πολλαπλασιαμός πινάκων στο Octave/matlab

Το συνηθέστερο λάθος που γίνεται στον πολλαπλασιασμό πινάκων είναι η προσπάθεια εκτέλεσης ενός μη έγκυρου πολλαπλασιασμού.

Οι περισσότεροι χρήστες ξεχνούν πως οι πίνακες δεν είναι απλοί αλγεβρικοί αριθμοί: Μπορείτε να πολλαπλασιάσετε οποιουσδήποτε αριθμούς μεταξύ τους, όχι όμως δύο οποιουσδήποτε πίνακες.

Ο κανόνας είναι απλός: ο πολλαπλασιασμός πινάκων μπορεί να εκτελεστεί αν και μόνο αν το πλήθος στηλών του πίνακα στα αριστερά ισούται με το πλήθος γραμμών του πίνακα στα δεξιά

Πχ, έστω δύο πίνακες:

octave:1> a = [1 -2; 4 1]
a =

   1  -2
   4   1

octave:2> b = [-1 2 0; 2 -3 1]
b =

  -1   2   0
   2  -3   1

Το γινόμενο a*b είναι:

octave:3> a*b
ans =

  -5   8  -2
  -2   5   1

Το γινόμενο, ωστόσο, b*a δεν ορίζεται :

octave:4> b*a
error: operator *: nonconformant arguments (op1 is 2x3, op2 is 2x2)

Όπως επίσης δεν ορίζεται το γινόμενο, a*b' :

octave:5> a*b'
error: operator *: nonconformant arguments (op1 is 2x2, op2 is 3x2)

Ενώ αντίθετα μπορεί να βρεθεί το γινόμενο b'*a :

octave:9> b'*a
ans =

    7    4
  -10   -7
    4    1

Μπορείτε να δοκιμάσετε διάφορους άλλους συνδυασμούς για να επιβεβαιώσετε τον κανόνα και να αντιληφθείτε σε βάθος την ισχύ του

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

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