Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ
Το matlab εν τάχει Ολοκληρωμένο περιβάλλον επίλυσης προβλημάτων. Εστιάζει σε αριθμητικούς υπολογισμούς. Όλα τα μαθηματικά αντικείμενα θεωρούνται μητρεία. Μετρά αισίως 35 έτη ζωής.
Έτοιμες συναρτήσεις – Αριθμητικές πράξεις Συνηθισμένες αριθμητικές πράξεις. Ύψωση σε δύναμη μέσω της ^ ή της pow(er). Υποστηρίζονται αρνητικοί και κλασματικοί εκθέτες. Απόλυτη τιμή πραγματικού αριθμού ή μέτρο μιγαδικού αριθμού με την abs. Εκτέλεση εντολής από το τοπικό λειτουργικό σύστημα με το !
Έτοιμες συναρτήσεις – Βασικές συναρτήσεις Εκθετική συνάρτηση με την exp. Τριγωνομετρικές συναρτήσεις με τις sin (ημίτονο), cos (συνημίτονο), και tan (εφαπτομένη). Αντίστροφες τριγωνομετρικές συναρ- τήσεις με τις asin, acos, και atan. Συνέλιξη και αποσυνέλιξη με τις conv και deconv.
Έτοιμες συναρτήσεις – Λογικές πράξεις Σύνταξη παρόμοια με εκείνη της C. Τελεστές μερικής αξιολόγησης (partial evaluation) || (λογική διάζευξη) και && (λογική σύζευξη) μεταξύ βαθμωτών ή μεταξύ μητρείων. Υπάρχουν οι αντίστοιχες συναρτήσεις or και and. Τελεστές μεταξύ bit (bitwsie) | και &.
Έτοιμες συναρτήσεις – Διανύσματα Ι Νόρμα διανύσματος με την norm. Υποστηρίζονται όλες οι γνωστές νόρμες (1, 2, ∞). Μέγιστο/ελάχιστο με το max/min. Αναστροφή με ‘ (συζυγής ανάστροφος για μιγαδικά διανύσματα). Αναστροφή με.’ (απλός ανάστροφος για μιγαδικά διανύσματα). Εσωτερικό γινόμενο με dot.
Έτοιμες συναρτήσεις – Διανύσματα ΙΙ Διάνυσμα γραμμή >> x = [ ] Διάνυσμα στήλη >> y = [ 1 ; 0 ; 0 ; 1 ]
Έτοιμες συναρτήσεις – Διανύσματα ΙΙΙ Εσωτερικά αποθηκεύονται κατά στήλες όπως και στην C. Δεικτοδότηση μέσω των ( ). -x(i) γενικά για κάθε διάνυσμα. -x(i,1) για διάνυσμα στήλη. -x(1,i) για διάνυσμα γραμμή. Η δεικτοδότηση ξεκινά από το 1 και όχι από το 0 όπως στην C.
Έτοιμες συναρτήσεις – Μητρεία Ι eye και zeros για το ταυτοτικό μητρείο. Αντιστροφή μητρείου με την inv και τον \ Η inv υπολογίζει το αντίστροφο μητρείο. Ο \ χρησιμεύει για την επίλυση συστημάτων και είναι γενικός επιλυτής. Η έκφραση A \ eye παράγει μια (καλή) προσέγγιση του αντιστρόφου του Α.
Έτοιμες συναρτήσεις – Μητρεία ΙΙ Η δήλωση ενός μητρείου είναι συνδυασμός των δηλώσεων ενός διανύσματος γραμμής κι ενός στήλης >> Μ = [ 1 0 ; 0 1 ] Σε ένα μητρείο δηλώνεται πρώτα η πρώτη γραμμή του, ύστερα η δεύτερη κ.ο.κ.
Προγραμματισμός σε matlab – Γενικά Σύνταξη η οποία ομοιάζει με εκείνη της C σε μεγάλο βαθμό. Αποθήκευση σε αρχεία σεναρίου (script files) με την κατάληξη.m Κάθε τέτοιο αρχείο περιέχει τουλάχιστον μία συνάρτηση (function). Η συνάρτηση δηλώνεται με την λέξη-κλειδί function. Υπάρχουν ορίσματα εισοδου και εξόδου.
Προγραμματισμός σε matlab – Βρόχοι I Βρόχος for -Χρησιμοποιεί έναν μετρητή για να εκτελέσει έναν προκαθορισμένο αριθμό επαναλήψεων. -for i = a:step:b - -end Ο κώδικας θα εκτελεστεί floor((b-a)/step) φορές. Επιτρέπεται και αντίστροφη μέτρηση.
Προγραμματισμός σε matlab – Βρόχοι ΙΙ Βρόχος while -Χρησιμοποιεί μια συνθήκη για την εκτέλεση των επαναλήψεων. -while - -end Όσο αληθεύει η συνθήκη εκτελείται ο κώδικας. Έξοδος από τους βρόχους με break ή continue ανάλογα με την περίσταση
Προγραμματισμός σε matlab – Πρόταση if if elseif... elseif else end
Προγραμματισμός σε matlab – Πρόταση switch switch case... case otherwise end
Προγραμματισμός σε matlab – Εκτύπωση κειμένου Κατά σύμβαση το matlab τυπώνει το αποτέλεσμα κάθε πράξεως και το αποθηκεύει στην μεταβλητή ans. Η χρήση του ; εκτελεί μια πράξη σιωπηλά. Εκτύπωση δεδομένων μέσω της fprintf και αλφαριθμητικών μέσω της disp. Σχόλια με το %
Προγραμματισμός σε matlab – Γραφικές παραστάσεις Συνάρτηση plot - Η γενική συνάρτηση δημιουργίας γραφικών παραστάσεων του matlab. Συνάρτηση semilogy -Χρησιμοποιείται όταν στα δεδομένα υπάρχει διαφορά στην τάξη μεγέθους.
Προγραμματισμός σε matlab – Προσοχή Προτιμάτε τον κειμενογράφο του matlab. Είναι φιλικός προς τον χρήστη και επιτρέπει την εύκολη διόρθωση του κώδικα. Για να συνεχίστε κώδικα από μια γραμμή στην άλλη χρησιμοποιείστε τον τελεστή... Το matlab δεν κάνει έλεγχο τύπων ούτε απαιτεί ρητή δήλωση μεταβλητών.
Και κάτι για το τέλος Στο matlab εσωτερικά οι μεταβλητές είναι μητρεία. Μια συνάρτηση δηλώνεται με την λέξη- κλειδί function. Το σύμβολο ! χρησιμοποιείται για σχόλια. Η pow(er) είναι ο μοναδικός τρόπος για να υπολογιστεί η δύναμη ενός αριθμού.