Πράξεις με πίνακες και πράξεις με for σε πίνακες στο Octave/matlab
Οι πράξεις με πίνακες και οι πράξεις σε πίνακες τα στοιχεία των οποίων διατρέχονται με βρόγχο for (ή while) είναι από το πιο παρεξηγημένα θέματα, τουλάχιστον σε όσους προέρχονται από κάποια άλλη γλώσσα προγραμματισμού.
Για παράδειγμα, ας υποθέσουμε πως ζητούνται οι 5 πρώτοι όροι της ακολουθίας:
$$ a_n = (1+1/n)^n, \, n=1,2,3\ldots $$
Ο κλασσικός τρόπος είναι:
N = 5; for i=1:N a(i) = (1+1/i)^i; end
Με αποτέλεσμα:
octave:> a a = 2.0000 2.2500 2.3704 2.4414 2.4883
Δεν είναι και ο περισσότερο ενδεδειγμένος. Είναι προτιμότερο να λύσετε το πρόβλημα με διανυσματικές πράξεις:
octave:> n=1:5; octave:> a=(1+1./n).^n a = 2.0000 2.2500 2.3704 2.4414 2.4883
Προσπαθήστε να λύνετε όλα τα προβλήματα (όπου είναι εφικτό) κάνοντας πράξεις με πίνακες και διανύσματα. Αποφύγετε τις άσκοπες διαδικασίες με βρόγχους επανάληψης.
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.
Εκπαιδευτικό υλικό από τον
Αθανάσιο Σταυρακούδη
σας παρέχετε κάτω από την άδεια
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.