Διανύσματα γεωμετρικής προόδου στο Octave/matlab

Γεωμετρική πρόοδος, μια ακολουθία της μορφής:

$$ a_n = \rho a_{n-1} $$

ή, ισοδύναμα:

$$ a_n = a \rho^n $$

όπου a μια μη μηδενική σταθερά.

Πως μπορεί να δημιουργηθεί μια γεωμετρική πρόοδος στο Octave/matlab; Πχ, να βρεθούν οι πέντε πρώτοι όροι της ακολουθίας:

$$ a_n = 2 a_{n-1} $$

όταν $$a_1 = a = 1 $$

Δύο τρόποι, o ένας (κακός) με βρόγχο, ο άλλος (καλός) με πίνακες. Πρώτα ο κακός τρόπος:

octave:> a(1)=1
a =  1
octave:> for i=2:5
> a(i) = 2*a(i-1);
> end
octave:> a
a =

    1    2    4    8   16

ο καλός τρόπος, χωρίς βρόγχο:

octave:> a = 2.^[0:4]
a =

    1    2    4    8   16

Ο καλός τρόπος δουλεύει πάντα, ακόμα και όταν ο αρχικός όρος δεν ισούται με τη μονάδα ($$a^0 = 1 $$). Πχ, να βρεθούν οι πέντε πρώτοι όροι της ακολουθίας:

$$ a_n = 0.5 a_{n-1} $$

όταν $$a_1 = 8$$:

octave:> a = 8 * 0.5.^[0:4]
a =

   8.00000   4.00000   2.00000   1.00000   0.50000

Γενικά, ο τύπος που δίνει τους Ν πρώτους όρους της γεωμετρικής προόδου

$$ a_n = \rho a_{n-1} $$

είναι:

a(1) * rho .^ [0:N-1]

Δοκιμάστε το, και δε θα χάσετε.

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

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