Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Τομέας Γεωδαισίας και Τοπογραφίας 3ο Εξάμηνο
ΑΠΘ/ΤΑΤΜ Τομέας Γεωδαισίας και Τοπογραφίας 3ο Εξάμηνο Σήματα και Φασματικές Μέθοδοι στη Γεωπληροφορική Signals and Spectral Methods in Geoinformatics Ακαδημαϊκή Χρονιά: – 2015 Πρόγραμμα: Τετάρτη 4 – 8 μ.μ. Διδάσκοντες: A. Δερμάνης, Η.Ν. Τζιαβός, Γ. Βέργος Ιστοσελίδες μαθήματος:
2
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB
3
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB
4
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB
5
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB (Τι είναι το MATLAB)
Είναι ένα πολύ ικανό, αποτελεσματικό και εύκολο εργαλείο που συνδυάζει πολύπλοκους υπολογισμούς, γραφικά προσομοιώσεις και προγραμματισμό στο ίδιο περιβάλλον. Παίρνει το όνομά του από τις λέξεις MATrix LABoratory
6
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB
7
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB (ΙΣΤΟΡΙΑ)
Το MATLAB αποτελεί τη φυσική εξέλιξη προγραμμάτων σε FORTRAN για την επίλυση γραμμικών προβλημάτων (πρόγραμμα LINPACK) και προβλημάτων εύρεσης ιδιοτιμών (EISPACK). Αναπτύχθηκε αρχικά από τον Cleve Moler τη δεκαετία του Στις αρχές του ’80 ο ίδιος ο Moler διαπίστωσε την ανάγκη ενός λογισμικού που θα πραγματοποιεί τις ίδιες εργασίες χωρίς όμως να είναι αναγκασμένοι οι φοιτητές του να γνωρίζουν FORTRAN. Επίσης διαπιστώθηκε η ανάγκη ύπαρξης γραφικού περιβάλλοντος και σχεδιασμού διαγραμμάτων.
8
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB (ΙΣΤΟΡΙΑ)
Τη δεκαετία του 1980 το πρόγραμμα γράφτηκε ξανά σε γλώσσα C με περισσότερες λειτουργίες, βιβλιοθήκες, δυνατότητα γραφικών και απεικονίσεων. Το 1984 δημιουργήθηκε η εταιρεία MathWorks Inc η οποία είναι υπεύθυνη μέχρι σήμερα για τη διανομή, ανάπτυξη, υποστήριξη και πώληση του MATLAB
9
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB
10
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB (ΠΛΕΟΝΕΚΤΗΜΑΤΑ)
11
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB (ΠΛΕΟΝΕΚΤΗΜΑΤΑ)
Διαθέτει πολύ μεγάλη βιβλιοθήκη εντολών επιτρέποντας την αντικατάσταση δεκάδων ή εκατοντάδων γραμμών κώδικα σε άλλες γλώσσες (π.χ. FORTRAN) με μία απλή εντολή (για παράδειγμα fft).
12
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB
13
ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ MATLAB (MEIOΝΕΚΤΗΜΑΤΑ)
Το MATLAB είναι μια μεταφραζόμενη προγραμματιστική γλώσσα που απαιτεί τον μεταφραστή (το MATLAB δηλαδή) για να εκτελεστεί κάποιο πρόγραμμα. Δεν παράγει εκτελέσιμα αρχεία (π.χ. EXE). Σε γενικές γραμμές είναι πιο αργό από τις γλώσσες προγραμματισμού που έχουν μεταγλωττιστή. Το MATLAB είναι σχεδιασμένο για επιστημονι- κούς υπολογισμούς και δεν είναι κατάλληλο για κάποιες άλλες λειτουργίες (π.χ., ανάγνωση κειμένου).
14
ΕΚΚΙΝΗΣΗ ΤΟΥ MATLAB ΚΑΙ ΒΑΣΙΚΗ ΔΙΑΡΘΡΩΣΗ
Εκκίνηση του προγράμματος Διάρθρωση του προγράμματος
15
ΕΚΚΙΝΗΣΗ ΤΟΥ MATLAB ΚΑΙ ΒΑΣΙΚΗ ΔΙΑΡΘΡΩΣΗ
16
MatLab & TopoLab Προκειμένου να μπορέσετε να χρησιμοποιήσετε το MATLAB στο TOPOLAB θα πρέπει να έχετε λογαριασμό για το δίκτυο υπολογιστικών νησίδων του AFS (ΚΛΔΔ/ΚΥΤΠ-ΑΠΘ). Ο λογαριασμός ταυτίζεται με αυτόν που (πρέπει) να διαθέτετε ήδη για τις ηλεκτρονικές δηλώσεις μαθημάτων!!! Σε περίπτωση που δεν έχετε τέτοιο λογαριασμό πρέπει να επικοινωνήσετε ΑΜΕΣΑ με τη γραμματεία του Τμήματος ώστε να γίνουν οι απαραίτητες ενέργειες.
17
MatLab για χρήστες του ΑΠΘ
18
MatLab για χρήστες του ΑΠΘ (2η επιλογή)
Η είσοδος και η χρήση του MatLab μπορεί να γίνει και από το σπίτι με τη χρήση της υπηρεσίας Terminal Servers του ΑΠΘ Δεν απαιτείται εγκατάσταση κανενός λογισμικού στον υπολογιστή του χρήση παρά μόνο η διάθεση λογαριασμού χρήστη ΑΠΘ (που έχετε πλέον όλοι!!!!!)
19
ΕΚΚΙΝΗΣΗ ΤΟΥ MATLAB ΚΑΙ ΒΑΣΙΚΗ ΔΙΑΡΘΡΩΣΗ
Workspace & Directory Command-Window Command- History
20
ΒΑΣΙΚΗ ΔΙΑΡΘΡΩΣΗ ΤΟΥ MATLAB (command window)
Επιτρέπει την εισαγωγή εντολών, τη δημιουργία και τροποποίηση παραμέτρων, την εκτέλεση προγραμμάτων και συναρτήσεων που δημιουργούμε ή που είναι ήδη διαθέσιμες. Επίσης, αποτελεί και μια από τις επιφάνειες εμφάνισης των αποτελεσμάτων. Command-Window
21
ΒΑΣΙΚΗ ΔΙΑΡΘΡΩΣΗ ΤΟΥ MATLAB (Current directory)
To MATALAB, όπως και τα WINDOWS και το UNIX, έχει έναν τρέχοντα κατάλογο (directory) εργασίας. Οι συναρτήσεις του MATLAB μπορούν να κληθούν (φορτωθούν) από κάποιο κατάλογο. Τα προγράμματα που γράφουμε είναι διαθέσιμα να τρέξουν μόνο όταν ο επιλεγμένος κατάλογος είναι αυτός στον οποίο βρίσκονται. Σε ένα φάκελο των Windows θα δείτε μόνο τα προγράμματα που έχετε κάνει και όχι τα δεδομένα. Αυτά τα «βλέπετε» μόνο στο MATLAB ή στα Windows αν τα εξάγετε. Directory
22
ΒΑΣΙΚΗ ΔΙΑΡΘΡΩΣΗ ΤΟΥ MATLAB (Workspace)
Στo MATALAB, όταν εκτελούμε κάποιες εντολές (είτε στο command window είτε με κάποιο m-file), όλες οι μεταβλητές που υπολογίζονται από το πρόγραμμα αποθηκεύονται στο workspace (χώρος εργασίας) Από εκεί μπορούμε να δούμε το μέγεθός τους, τα στοιχεία τους, τον χώρο που καταλαμβάνουν και να αντιγράψουμε μέρος τους. Ο χώρος του workspace «καθαρίζεται» πλήρως με την εντολή clear all ενώ σε περίπτωση που επιθυμούμε να διαγράψουμε μια μόνο μεταβλητή τότε δίνουμε clear var. Workspace
23
ΒΑΣΙΚΗ ΔΙΑΡΘΡΩΣΗ ΤΟΥ MATLAB (command history)
Περιλαμβάνει όλες τις εντολές που χρησιμοποιήθηκαν από την στιγμή που άνοιξε το πρόγραμμα ή και παλαιότερες. Οι παλαιότερες εντολές μπορούν να σβηστούν αν το θέλει ο χρήστης. Οι εντολές από το Command History μπορούν να τοποθετηθούν στο παράθυρο εντολών (Command Window) με απλό σύρσιμο ή και αντιγραφή/επικόλληση. Στην περίπτωση αυτή εκτελούνται ξανά. Command History
24
ΒΑΣΙΚΗ ΔΙΑΡΘΡΩΣΗ ΤΟΥ MATLAB (MATLAB EDITOR)
Ο κειμενογράφος του MATLAB αποτελεί το βασικό εργαλείο δημιουργίας προγραμμάτων τα οποία εκτελούνται από το Command Window. Δίνει δυνατότητες εκτέλεσης και εκσφαλμάτωσης προγραμμάτων. Τα αρχεία που δημιουργούνται με Save-As ονομάζονται m-files (επέκταση *.m) και περιλαμβάνουν τον κώδικα των προγραμμάτων μας. Τα αρχεία αυτά εμφανίζονται και στους φακέλους των Windows (βλ. Current Directory) MATLAB Editor
25
ΑΠΛΕΣ ΕΝΤΟΛΕΣ ΣΤΟ MATLAB
who whos save delete clear all clear clc help % close all dir ή ls load
26
ΑΠΛΕΣ ΕΝΤΟΛΕΣ ΣΤΟ MATLAB (who)
Η εντολή whos κάνει το ίδιο με την who αλλά επιπλέον εμφανίζει το μέγεθος, τον τύπο των μεταβλητών και τον χώρο που καταλαμβάνουν.
27
ΑΠΛΕΣ ΕΝΤΟΛΕΣ ΣΤΟ MATLAB (save & delete)
Η εντολή save αποθηκεύει όλες τις μεταβλητές από το χώρο εργασίας σε ένα αρχείο που ονομάζεται αυτόματα matlab.mat. Η εντολή save test αποθηκεύει όλες τις μεταβλητές από το χώρο εργασίας στο αρχείο test.mat. Η εντολή save test var1 var2 αποθηκεύει μόνο τις μεταβλητές var1 και var2 από το χώρο εργασίας στο αρχείο test.mat. Η εντολή delete σβήνει κάποιο αρχείο από το χώρο εργασίας. Π.χ. η delete test.mat σβήνει το αρχείο test.mat
28
ΑΠΛΕΣ ΕΝΤΟΛΕΣ ΣΤΟ MATLAB (clear, clear all, clc)
Η εντολή clear διαγράφει όλες τις μεταβλητές από τον χώρο εργασίας. Συνήθως χρησιμοποιείται για να διαγράψουμε μια μεταβλητή, π.χ., clear var1. Η εντολή clear all διαγράφει όλες τις μεταβλητές και τις συναρτήσεις (functions) που έχουμε δημιουργήσει στο χώρο εργασίας. Η εντολή clc διαγράφει όλα τα στοιχεία από το παράθυρο εργασίας (command window) και δεν επηρεάζει τις μεταβλητές και τις συναρτήσεις που έχουμε ορίσει. Είναι αντίστοιχη της cls στο DOS και της clear στο UNIX.
29
ΑΠΛΕΣ ΕΝΤΟΛΕΣ ΣΤΟ MATLAB (help)
Η εντολή help command δίνει βοήθεια για τη συγκεκριμένη εντολή. Για παράδειγμα η εντολή help fft δίνει βοήθεια για την εντολή fft που εκτελεί τον ταχύ μετασχηματισμό Fourier ενός σήματος στο MATLAB. Αντίστοιχα, η εντολή help conv δίνει βοήθεια για την εντολή conv που εκτελεί την γραμμική συνέλιξη δύο σημάτων στο MATLAB.
30
ΑΠΛΕΣ ΕΝΤΟΛΕΣ ΣΤΟ MATLAB (%)
Το % δεν αποτελεί εντολή αλλά σύμβολο που επιτρέπει την παράθεση σχολίων σε κάποιο πρόγραμμα (m-file) του MATLAB.
31
ΑΠΛΕΣ ΕΝΤΟΛΕΣ ΣΤΟ MATLAB (close all, dir ή ls)
Η εντολή close all κλείνει όλα τα παράθυρα εικόνων από το MATLAB. Οι εντολές dir και ls λειτουργούν με τον ίδιο τρόπο και δίνουν τον κατάλογο των περιεχομένων του τρεόχοντος φακέλου εργασίας.
32
ΑΠΛΕΣ ΕΝΤΟΛΕΣ ΣΤΟ MATLAB (load)
Η εντολή load επιτρέπει να φορτωθούν δεδομένα στον σώρο εργασίας του MATLAB από τον φάκελο εργασίας. Για παράδειγμα το load hHNgrav_33.txt φορτώνει το αρχείο hHNgrav_33.txt και όλες τις παραμέτρους του στο Workspace.
33
ΔΕΔΟΜΕΝΑ, ΜΕΤΑΒΛΗΤΕΣ & ΣΥΝΑΡΤΗΣΕΙΣ ΣΤΟ MATLAB
34
ΔΕΔΟΜΕΝΑ ΣΤΟ MATLAB Το MATLAB χρησιμοποιεί ουσιαστικά ένα μόνο αριθμητικό αντικείμενο, τους ορθογώνιους πίνακες. Κάθε πίνακας μπορεί να είναι διάνυσμα, τετραγωνικός, να περιλαμβάνει ακέραιους & μιγαδικούς αριθμούς ή ακόμη και κείμενο. Σε αντίθεση με την FORTRAN και άλλες γλώσσες προγραμματισμού, στο MATLAB δεν είναι απαραίτητο να δηλώσουμε τον τύπο της μεταβλητής, αν είναι δηλαδή ακέραιος, πραγματικός, μιγαδικός αριθμός ή αλφαριθμητική. Επίσης δεν χρειάζεται να δηλώσουμε την ακρίβειά τους (απλή, διπλή ή τετραπλή ακρίβεια).
35
ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΣΤΟ MATLAB
Προσοχή πρέπει να δωθεί στο ότι οι μεταβλητές στο MATLAB είναι case sensitive δηλαδή οι μεταβλητές Α & a είναι δύο διαφορετικές μεταβλητές. Ο πιο απλός τρόπος να δηλώσουμε μια μεταβλητή είναι… Το ; μετά από τη δήλωση μιας μεταβλητής δεν εμφανίζει το αποτέλεσμα στο παράθυρο εντολών.
36
ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΣΤΟ MATLAB
Ο προηγούμενος τρόπος είναι ο πιο απλός για να δηλωθούν ακέραιοι αριθμοί και μεταβλητές κινητής υποδιαστολής. Σε κάθε περίπτωση το MATLAB τους αντιμετωπίζει σαν πίνακες!!! Δηλαδή στην προκειμένη περίπτωση σαν πίνακες 1x1. Σε τέτοιες μεταβλητές μπορούμε να κάνουμε τις γνωστές πράξεις + (πρόσθεση), - (αφαίρεση), / διαίρεση, * (πολλαπλασιασμό), ^ ύψωση σε δύναμη. Προσοχή!!! Στο MATLAB τα σύμβολα / & \ λειτουργούν διαφορετικά.
37
ΕΙΣΑΓΩΓΗ ΠΙΝΑΚΩΝ ΣΤΟ MATLAB
Ένας πίνακας λοιπόν ορίζεται με μια ακολουθία αριθμών χρησιμοποιώντας το σύμβολο ; για να αλλάξουμε γραμμή.
38
ΠΡΑΞΕΙΣ ΠΙΝΑΚΩΝ ΣΤΟ MATLAB
Σε αντιστοιχία με τις πράξεις ανάμεσα σε πίνακες στοιχεία γίνονται και οι πράξεις μεταξύ πινάκων. Ο πολλαπλασιασμός μεταξύ πινάκων μπορεί να γίνει είτε με * είτε με .* Στην πρώτη περίπτωση το αποτέλεσμα είναι το γνωστό αλγεβρικό γινόμενο πινάκων ενώ στη δεύτερη ο πίνακας που προκύπτει έχει στοιχεία της μορφής aij*bij. Γίνεται δηλαδή πολλαπλασιασμός στοιχείο με στοιχείο.
39
ΠΡΑΞΕΙΣ ΠΙΝΑΚΩΝ ΣΤΟ MATLAB
Με την πράξη Α/Β προκύπτει το αποτέλεσμα της πράξης Α*Β-1. Με την πράξη Α./Β προκύπτει το αποτέλεσμα της πράξης aij/bij. Αντίστοιχα, με την πράξη Α\Β προκύπτει το αποτέλεσμα της πράξης Α-1*Β ενώ με την πράξη Α.\Β προκύπτει το αποτέλεσμα της πράξης bij/aij.
40
ΧΡΗΣΙΜΑ ΚΑΙ ΣΥΝΤΟΜΑ ΓΙΑ ΠΙΝΑΚΕΣ ΣΤΟ MATLAB
Το MATLAB διαθέτει εσωτερικές εξισώσεις που μας δίνουν γρήγορα και εύκολα τον ανάστροφο (‘), τον αντίστροφο (inv) και την ορίζουσα (det) ενός πίνακα.
41
ΧΡΗΣΙΜΑ ΚΑΙ ΣΥΝΤΟΜΑ ΓΙΑ ΠΙΝΑΚΕΣ ΣΤΟ MATLAB
Με την εντολή zeros προκύπτει ένας μηδενικός πίνακας των διαστάσεων που ορίζουμε (n,m) όπου πάντα πρώτα είναι ο αριθμός των γραμμών και μετά των στηλών. Τί συμβαίνει αν δώσουμε την εντολή A=zeros(5);;;;;;; Αντίστοιχα λειτουργεί και η εντολή ones Τέλος η εντολή eye(n) δημιουργεί ένα μοναδιαίο πίνακα
42
ΤΡΙΓΩΝΟΜΕΤΡΙΑ ΣΤΟ MATLAB
Το MATLAB όπως και κάθε άλλη γλώσσα προγραμματισμού και όπως κάθε εργαλείο στον Η/Υ αντιλαμβάνεται σαν μονάδα μέτρησης γωνιών μόνο τα ακτίνια (rad). Οπότε οποιοσδήποτε υπολογισμός τριγωνομετρικών αριθμών πρέπει να γίνεται σε ακτίνια. Η τιμή του π δεν χρειάζεται να υπολογιστεί αφού υπάρχει σαν μεταβλητή του MATLAB pi() Οι τριγωνομετρικοί αριθμοί υπολογίζονται με τα γνωστά, δηλαδή sin, cos, tan, cotan, csc, sec. Αν θέλουμε να υπολογίσουμε τριγωνομετρικούς αριθμούς σε μοίρες τότε χρησιμοποιούμε τα sind, cosd, tand, catd, cscd, secd. Στην περίπτωση των πινάκων η πράξη γίνεται στοιχείο-στοιχείο.
43
ΓΡΗΓΟΡΗ ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΣΤΟ MATLAB
Υπάρχουν περιπτώσεις που τα στοιχεία ενός πίνακα παρουσιάζουν μια ακολουθία, π.χ. αυξάνονται συνεχώς κατά πολλαπλάσια κάποιου αριθμό, δηλαδή Σε αυτές τις περιπτώσεις η δημιουργία αυτής της μεταβλητής/πίνακα γίνεται πολύ πιο εύκολα από το να πληκτρολογήσουμε όλα τα δεδομένα. Η γενική μορφή είναι variable = start:increment:end
44
ΧΡΗΣΙΜΕΣ ΣΥΝΑΡΤΗΣΕΙΣ ΤΟΥ MATLAB
Το MATLAB περιλαμβάνει ένα πλήθος χρήσιμων συναρτήσεων μεταξύ των οποίων και οι max, min, mean, median, std, sum Αν υποθέσουμε ότι Α=1:11 τότε
45
ΧΡΗΣΙΜΕΣ ΣΥΝΑΡΤΗΣΕΙΣ ΤΟΥ MATLAB
Οι προηγούμενες συναρτήσεις λειτουργούν διαφορετικά στην περίπτωση των πινάκων, για παράδειγμα
46
ΧΡΗΣΙΜΕΣ ΣΥΝΑΡΤΗΣΕΙΣ ΤΟΥ MATLAB
Δύο πολύ χρήσιμες συναρτήσεις είναι και οι rand και randn που μας δίνουν αποτελέσματα που ακολουθούν την ομογενή (τυχαίες τιμές γύρω από τη μονάδα) και την κανονική κατανομή (μ=0 & σ2=1) αντίστοιχα. Μπορούμε να δημιουργήσουμε μεταβλητές πίνακες ή διανύσματα, δηλαδή Α=randn(5) και Α=randn(5,1) Αν θέλουμε να δημιουργήσουμε μια μεταβλητή που θα ακολουθεί την κανονική κατανομή με μεταβλητότητα π.χ. 10 τότε Α=10*randn(5)
47
ΕΠΙΛΟΓΗ ΣΥΓΚΕΚΡΙΜΕΝΩΝ ΣΤΟΙΧΕΙΩΝ ΠΙΝΑΚΩΝ
ΠΙΝΑΚΑΣ 3x9 Πράξεις μεταξύ στοιχείων πινάκων ΕΜΦΑΝΙΣΗ ΣΥΓΚΕΚΡΙΜΕΝΟΥ ΣΤΟΙΧΕΙΟΥ ΤΟΥ ΠΙΝΑΚΑ
48
ΑΣΚΗΣΕΙΣ (1/1) Ημερομηνία Παράδοσης 23/10/2013
Έστω ότι έχουμε τα συνεχή σήματα y1=4sin(t) y2=4sin(2t) y3=4sin(t/2) που ορίζονται στο διάστημα 0 ≤ t ≤ 2π. Να δημιουργήσετε στο MATLAB έναν πίνακα που να περιέχει τις τιμές του χρόνου με βήμα π/8 και στη συνέχεια να υπολογίσετε τις τιμές των συναρτήσεων για το διάστημα ορισμού τους. Για κάθε μια από αυτές να βρείτε τις χρονικές στιγμές που παίρνουν τις μέγιστες και ελάχιστες τιμές τους καθώς και τον αριθμό των μέγιστων και ελάχιστων μέσα στο πεδίο ορισμού. Τι διαφορές παρατηρείτε και γιατί; Σχολιάστε τα αποτελέσματα.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.