Εργαλεία Χρήστη

Εργαλεία ιστότοπου


octave

Σύγκριση εκδόσεων

Εδώ βλέπετε τις διαφορές μεταξύ της επιλεγμένης έκδοσης και της τρέχουσας έκδοσης της σελίδας.

Σύνδεσμος σε αυτή την προβολή διαφορών.

Προηγούμενος έλεγχος και από τις δύο πλευρές Προηγούμενη αναθεώρηση
Επόμενη αναθεώρηση
Προηγούμενη αναθεώρηση
octave [2014/01/29 09:46]
chiossif
octave [2021/01/30 13:59] (τρέχουσα)
62.210.151.70 παλαιότερη έκδοση επαναφέρθηκε (2014/01/29 10:01)
Γραμμή 262: Γραμμή 262:
     c =  4     c =  4
 Προσέξτε τον χαρακτήρα > στο παραπάνω παράδειγμα. Τον συναντάμε όταν μία εντολή καταλαμβάνει περισσότερες από μία γραμμές και μέχρι την ολοκλήρωσή της. Προσέξτε τον χαρακτήρα > στο παραπάνω παράδειγμα. Τον συναντάμε όταν μία εντολή καταλαμβάνει περισσότερες από μία γραμμές και μέχρι την ολοκλήρωσή της.
 +
  
 =====Εντολή ελέγχου switch===== =====Εντολή ελέγχου switch=====
 Σε περίπτωση που σε ένα πρόγραμμα χρειάζονται πολλές if/elseif εντολές προκειμένου να επιλεγεί το αποτέλεσμα μέσα από μια ποικιλία διαφορετικών εντολών, είναι καλύτερα να χρησιμοποιηθεί η εντολή switch. Η εντολή ακολουθεί το παρακάτω πρότυπο: Σε περίπτωση που σε ένα πρόγραμμα χρειάζονται πολλές if/elseif εντολές προκειμένου να επιλεγεί το αποτέλεσμα μέσα από μια ποικιλία διαφορετικών εντολών, είναι καλύτερα να χρησιμοποιηθεί η εντολή switch. Η εντολή ακολουθεί το παρακάτω πρότυπο:
-switch x +  switch x 
-case x1, +    case x1, 
-     ..... +       .... 
-case x2, +    case x2, 
-    .... +       .... 
-otherwise, +    otherwise, 
-   ..... +       .... 
-end+  end
 Στην εντολή switch, η τιμή του x συγκρίνεται με κάθε μια από την λίστα με τα case, και αν βρεί μια ίση με αυτή τότε εκτελεί την αντίστοιχη ομάδα εντολών. Σε περίπτωση που κανένα case δεν είναι αληθές, εκτελείται η ομάδα εντολών που βρίσκεται μέσα στο otherwise, αν αυτό υπάρχει. Ακολουθεί ένα παράδειγμα εφαρμογής της εντολής: Στην εντολή switch, η τιμή του x συγκρίνεται με κάθε μια από την λίστα με τα case, και αν βρεί μια ίση με αυτή τότε εκτελεί την αντίστοιχη ομάδα εντολών. Σε περίπτωση που κανένα case δεν είναι αληθές, εκτελείται η ομάδα εντολών που βρίσκεται μέσα στο otherwise, αν αυτό υπάρχει. Ακολουθεί ένα παράδειγμα εφαρμογής της εντολής:
     octave:10> a=1;     octave:10> a=1;
Γραμμή 288: Γραμμή 289:
  
 ======Εντολές επανάληψης====== ======Εντολές επανάληψης======
 +
 +
 =====Εντολή επανάληψης for===== =====Εντολή επανάληψης for=====
-Στον προγραμματισμό είναι πολύ συνήθης η χρήση της εντολής επανάληψης for, η οποία επαναλαμβάνει μια ομάδα εντολών για προκαθορισμένες τιμές και με ένα προκαθορισμένο βήμα. Στην γλώσσα octave η χρήση του πρέπει να αποφεύγεται. Προσπαθήσετε να χρησιμοποιήσετε τις πράξεις με διανύματα, εύρη τιμών και συναρτήσεις αντί για αυτή την εντολή διότι είναι περίπου 40 φορές πιο αργή. Παρόλα αυτά υπάρχουν σπάνιες περιπτώσεις που η χρήση του for δεν μπορεί να αποφευχθεί. Η σύνταξη του είναι η ακόλουθη: +Στον προγραμματισμό είναι πολύ συνήθης η χρήση της εντολής επανάληψης for, η οποία επαναλαμβάνει μια ομάδα εντολών για προκαθορισμένες τιμές και με ένα προκαθορισμένο βήμα. Στην γλώσσα octave η χρήση του πρέπει να αποφεύγεται. Προσπαθήσετε να χρησιμοποιήσετε τις πράξεις με διανύματα, εύρη τιμών και συναρτήσεις αντί για αυτή την εντολή διότι είναι περίπου σαράντα φορές πιο αργή. Παρόλα αυτά υπάρχουν σπάνιες περιπτώσεις που η χρήση του for δεν μπορεί να αποφευχθεί. Η σύνταξη του είναι η ακόλουθη: 
-for variable = vector +    for variable = vector 
-    statements +        statements 
-end+    end
 όπου το vector (διάνυσμα) περιλαμβάνει και τον αριθμό του βήματος. Ακολουθεί ένα παράδειγμα: όπου το vector (διάνυσμα) περιλαμβάνει και τον αριθμό του βήματος. Ακολουθεί ένα παράδειγμα:
-octave:12>  for n=1:5 +    octave:12>  for n=1:5 
-> nf(n) = factorial(n); +    > nf(n) = factorial(n); 
-> end +    > end 
-octave:13> nf +    octave:13> nf 
-nf = +    nf = 
-     1            24   120+         1            24   120
 όπου σχηματίζεται ένας νέος πίνακας με τα παραγοντικά των αριθμών 1 έως 5. Αυτό το παράδειγμα έγινε μόνο για την επίδειξη της εντολής και είναι ατυχές όπως το 99% των περιπτώσεων χρήσης της for, αφού μπορούμε να έχουμε το ίδιο αποτέλεσμα έτσι: όπου σχηματίζεται ένας νέος πίνακας με τα παραγοντικά των αριθμών 1 έως 5. Αυτό το παράδειγμα έγινε μόνο για την επίδειξη της εντολής και είναι ατυχές όπως το 99% των περιπτώσεων χρήσης της for, αφού μπορούμε να έχουμε το ίδιο αποτέλεσμα έτσι:
-octave:14> n=1:5 +    octave:14> n=1:5 
-n = +    n = 
-   1         5 +       1         5 
-octave:15> nf=factorial(n) +    octave:15> nf=factorial(n) 
-nf = +    nf = 
-     1            24   120+         1            24   120
 ΠΡΟΣΟΧΗ: Πριν χρησιμοποιήσετε μία εντολή for βεβαιωθείτε ότι δεν μπορείτε να κάνετε την δουλειά σας με πιο εύκολο και σύντομο τρόπο. Στην αρχή είναι λίγο δύσκολο, ειδικά για όσους είναι προγραμματιστές σε παλαιότερες γλώσσες προγραμματισμού όπως Fortran, Pascal, Basic ή C/C++ αλλά ας μην ξεχνάμε πως δεν έχουμε λόγο να γράφουμε κώδικα στην octave αν δεν χρησιμοποιούμε την δύναμή της. ΠΡΟΣΟΧΗ: Πριν χρησιμοποιήσετε μία εντολή for βεβαιωθείτε ότι δεν μπορείτε να κάνετε την δουλειά σας με πιο εύκολο και σύντομο τρόπο. Στην αρχή είναι λίγο δύσκολο, ειδικά για όσους είναι προγραμματιστές σε παλαιότερες γλώσσες προγραμματισμού όπως Fortran, Pascal, Basic ή C/C++ αλλά ας μην ξεχνάμε πως δεν έχουμε λόγο να γράφουμε κώδικα στην octave αν δεν χρησιμοποιούμε την δύναμή της.
  
Γραμμή 331: Γραμμή 334:
     ans =  2.22044604925031e-16     ans =  2.22044604925031e-16
 Μόλις ένα bit μεγαλύτερος από το x στο παραπάνω παράδειγμα ;-) Μόλις ένα bit μεγαλύτερος από το x στο παραπάνω παράδειγμα ;-)
 +
  
  
Γραμμή 337: Γραμμή 341:
  
 ======Συναρτήσεις====== ======Συναρτήσεις======
-Ε, αν δεν έχει η octave συναρτήσεις τότε ποιος έχει; +Ε, αν δεν έχει η octave συναρτήσεις τότε ποιος έχει; Κι είναι τόσο απλές που με ένα παράδειγμα θα γίνουν πλήρως κατανοητές. 
-Κι είναι τόσο απλές που με 2-3 παραδείγματα θα γίνουν πλήρως κατανοητές. +Ας ξεκινήσουμε: έχουμε την συνάρτηση fifi(x) = 2*x για x θετικό και 3*x για κάθε άλλη περίπτωση. Να πως γράφεται:
-Ας ξεκινήσουμε με ένα παράδειγμα: έχουμε την συνάρτηση fifi(x) = 2*x για x θετικό και 3*x για κάθε άλλη περίπτωση. Να πως γράφεται:+
     octave:1> function y=fifi(x)     octave:1> function y=fifi(x)
     > if x>0     > if x>0
Γραμμή 447: Γραμμή 450:
     s =  1.4491     s =  1.4491
 για να γίνουν όλα :-) για να γίνουν όλα :-)
 +
  
  
 ======Βιβλιοθήκη επεξεργασίας εικόνας====== ======Βιβλιοθήκη επεξεργασίας εικόνας======
 Ναι... υπάρχει και είναι [[http://octave.sourceforge.net/image/ | εδώ]]. Εγκαταστήστε την και ξεκινάμε. Ναι... υπάρχει και είναι [[http://octave.sourceforge.net/image/ | εδώ]]. Εγκαταστήστε την και ξεκινάμε.
-Κατ'αρχήν και πάντα παραδοσιακά κατεβάζουμε στον υπολογιστή μας την [[https://upload.wikimedia.org/wikipedia/en/2/24/Lenna.png| Λένα]].+Κατ'αρχήν και πάντα παραδοσιακά κατεβάζουμε στον υπολογιστή μας την [[https://upload.wikimedia.org/wikipedia/en/2/24/Lenna.png| Λέννα]].  
 + 
 +Με την ευκαιρία [[http://www.lenna.org/full/len_full.html|εδώ]] ολόκληρη η Λέννα για περισσότερες δοκιμές και [[http://www.cs.cmu.edu/~chuck/lennapg/|εδώ]] η ιστορία της ;-) 
 + 
 +Ξεκινάμε... 
 +(to be written - curently starring at [[http://www.lenna.org/full/len_full.html| Lenna's portait]] ;-) )
  
 ======Άλλες βιβλιοθήκες και πρόσθετο υλικό====== ======Άλλες βιβλιοθήκες και πρόσθετο υλικό======
octave.1390988814.txt.gz · Τελευταία τροποποίηση: 2020/11/21 09:52 (εξωτερική τροποποίηση)