Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2)

Σχετικά έγγραφα
Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

Χρονικές σειρές 3 o μάθημα: Εισαγωγή στη MATLAB

Χρονικές σειρές 9 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (3) ΓΡΑΦΗΜΑΤΑ

Χρονικές σειρές 4 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ

Χρονικές σειρές 5 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ (2) Μ-Files

Χρονικές σειρές 6 o μάθημα: M-Files (συνέχεια) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB - Bρόγχοι for

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Εντολές ελέγχου ροής if, for, while, do-while

for for for for( . */

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Προγραμματισμός στο Matlab

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Η γλώσσα προγραμματισμού C

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Διαδικασιακός Προγραμματισμός

Εισαγωγή στην Αριθμητική Ανάλυση

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Η γλώσσα προγραμματισμού C

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

Δομημένος Προγραμματισμός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

Υπολογισμός - Εντολές Επανάληψης

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Εισαγωγή στον Προγραμματισμό

10 ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ

Εργαστήριο Γραμμικής Άλγεβρας. H Matlab ως γλώσσα προγραμματισμού

ιαδικαστικός Προγραμματισμός

Εισαγωγή στον Προγραμματισμό με C++

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

Διαδικασιακός Προγραμματισμός

Εισαγωγή στη γλώσσα προγραμματισμού C++

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 5 Εντολές Επανάληψης for while do while. Λαμπρινίδης Γεώργιος

Προγραμματισμός σε Octave/Matlab

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Πληροφορική. Ενότητα 4: Α. Λογικές εκφράσεις (Παραστάσεις και Δείκτες). Β. Δομές Προγραμματισμού. Κωνσταντίνος Καρατζάς Τμήμα Μηχανολόγων Μηχανικών

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75

EΒ ΟΜΑ Α 4 Η. οµές επανάληψης while και do while

2ο σετ σημειώσεων. 1 Εντολές εκτέλεσης υπό συνθήκη. 19 Μαρτίου 2012

2. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Α' μέρος: if)

Κεφάλαιο : Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Δομές ελέγχου ροής προγράμματος

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 6 Εντολές Επανάληψης Ασκήσεις. Γιώργος Λαμπρινίδης

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Διάλεξη 5η: Εντολές Επανάληψης

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΕΑΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΧΕΙΜΕΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

Διαδικασιακός Προγραμματισμός

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες.

4. Εισαγωγή στο Matlab

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Προγραμματισμός Η/Υ (ΤΛ2007 )

Στοχαστικές Στρατηγικές

10. Εντολές επανάληψηςκαι οι εντολές

Στοχαστικές Στρατηγικές. διαδρομής (2)

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 3 Εντολές Επιλογής. Γιώργος Λαμπρινίδης Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Χρονικές σειρές 5 Ο μάθημα: Γραμμικά στοχαστικά μοντέλα (1) Αυτοπαλίνδρομα μοντέλα Εαρινό εξάμηνο Τμήμα Μαθηματικών ΑΠΘ

Εισαγωγή στους. Υπολογιστές

Κεφάλαιο : Επαναλήψεις (for, do-while)

ημιουργία και διαχείριση πινάκων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή

Η γλώσσα προγραμματισμού C

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 5 ο Μέρος 5 ο Μέρος Εντολές Επανάληψης: FOR - WHILE. Περιγραφή

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 4

Χρονικές σειρές 6 Ο μάθημα: Αυτοπαλίνδρομα μοντέλα (2)

Η γλώσσα προγραμματισμού Strange

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Χρονικές σειρές 2 o μάθημα: Εισαγωγή στη MATLAB

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Διδάσκων: Παναγιώτης Ανδρέου

Αντικειμενοστρεφής Προγραμματισμός

Διάλεξη 04: Παραδείγματα Ανάλυσης

Transcript:

Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2) Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό Τμήμα, Πανεπιστήμιο Μακεδονίας http://users.auth.gr/~agpapana/ 1

Βρόχοι while Οι βρόχοι while είναι της μορφής: while relation statements Οι λέξεις while και χρησιμοποιούνται στην αρχή και στο τέλος του βρόχου. Η ακολουθία εντολών «statements» εκτελούνται εφόσον η συνθήκη relation ικανοποιείται (δηλ. είναι αληθής) και σταματούν όταν αυτή παύει να ισχύει. 2

Παράδειγμα Το function m-file xlgmin.m, που φαίνεται πιο κάτω, βρίσκει τον ελάχιστο ακέραιο για τον οποίο ισχύει log n x, όπου x δοσμένος αριθμός. function [n] = xlgmin(x) % function [n] = xlgmin(x) % Briskei ton elaxisto akeraio n gia ton opoio isxuei log n >= x % O x prepei na einai gnhsia 0etikos n = 1 ; while log(n) < x n = n+1; % Telos tou xlgmin.m 3

Τρέχουμε το πιο πάνω m-file για διάφορες τιμές του x: >> xlgmin(1) ans = 3 >> xlgmin(3) ans = 21 >> xlgmin(8) ans = 2981 4

Οι εντολές break, return και continue Οι βρόχοι for και while μπορούν να διακοπούν με την εντολή break η οποία μεταφέρει τον έλεγχο στην πρώτη εντολή μετά το τελικό του βρόχου στον οποίο χρησιμοποιείται. Έτσι αν έχουμε εγκιβωτισμένους βρόχους ο έλεγχος περνά στον επόμενο (εξωτερικό βρόχο). Η εντολή break ορίζεται μόνο μέσα σε βρόχους for και while. Μια παρόμοια εντολή που μπορεί να χρησιμοποιηθεί εναλλακτικά και εκτός βρόχων for και while είναι η εντολή return. Γενικά η εντολή αυτή μεταφέρει τον έλεγχο στην καλούσα συνάρτηση (π.χ. στο καλόν m-file) ή στο πληκτρολόγιο. Χρησιμοποιείται επίσης για τερματισμό της εντολής keyboard που μεταφέρει τον έλεγχο από ένα m-file στο πληκτρολόγιο. Όπως θα δούμε στη συνέχεια με την εντολή return μπορούμε να διακόψουμε όταν χρειάζεται την εκτέλεση των εντολών ενός m-file. 5

Αν για παράδειγμα ένας πίνακας δεν είναι αντιστρέψιμος θα ήταν καλό να μην προχωρήσουμε στην εύρεση του αντιστρόφου του. Τέλος η εντολή continue μεταβιβάζει τον έλεγχο στην επόμενη επανάληψη ενός βρόχου for ή while χωρίς να εκτελεστούν οι εναπομένουσες εντολές του βρόχου. Θα δούμε παραδείγματα χρήσης αυτών των εντολών παρακάτω. 6

Η εντολή if Η εντολή if μας επιτρέπει να ελέγξουμε αν μια (ή περισσότερες) συνθήκες ισχύουν και να εκτελέσουμε σε κάθε περίπτωση την επιθυμητή ακολουθία εντολών και πράξεων. Η εντολή έχει την γενική μορφή: if relation_1 statement(s) elseif relation_2 statement(s) else statement(s) 7

Οι συνθήκες ελέγχονται με τη χρήση σχεσιακών και λογικών τελεστών. Σημειώνουμε επίσης ότι η εντολή elseif γράφεται σαν μια λέξη (δεν πρέπει να υπάρχει κενό μεταξύ του else και του if). Η απλούστερη μορφή της εντολής if είναι η πιο κάτω: if relation statement(s) Οι εντολές εκτελούνται μόνο αν ικανοποιείται η συνθήκη relation. Διαφορετικά δεν εκτελείται καμιά εντολή στο σημείο αυτό του προγράμματος και η ροή του τελευταίου συνεχίζει κανονικά. Αν θέλουμε να γράψουμε στην ίδια γραμμή άλλες εντολές χρησιμοποιούμε κόμμα ή ερωτηματικό για να χωρίσουμε την εντολή if από την επόμενη. 8

Παράδειγμα if x>0 x=sqrt(x) ή if x>0, x=sqrt(x); 9

Παράδειγμα To παρακάτω script υπολογίζει το μισθό ενός εργαζόμενου ως εξής: Μέχρι τις 40 ώρες εργασίας, ο μισθός είναι το γινόμενο των ωρών επί το ωρομίσθιο, ενώ πάνω από τις 40 ώρες, οι απολαβές είναι κατά 50% μεγαλύτερες. % Script file workerpay.m Pay = t*h; if t > 40 Pay = Pay + (t-40)*0.5*h; disp('to eisodeima tou ergazomevou eivai ') format bank disp(pay) % Telos tou workerpay.m 10

Ορίζουμε τις μεταβλητές t και h και μπορούμε να τρέξουμε το script: >> t=46; >> h= 4.25; >> workerpay To eisodeima tou ergazomevou eivai 208.25 >> t=35; >> h= 4; >> workerpay To eisodeima tou ergazomevou eivai 140.00 11

Παράδειγμα To m-file gee.m, που φαίνεται πιο κάτω, ορίζει την συνάρτηση function [G] = gee(x) for i=1:length(x) if x(i) <= 0.5 G(i) = x(i)^2; else G(i) = 0.25; % Telos tou gee.m g x = x2, x 0.5 0.25, x > 0.5 12

Τρέχουμε το m-file και παίρνουμε τις εξής τιμές: >> gee(0) ans = 0 >> gee(0.2) ans = 0.04 >> gee(3) ans = 0.25 >> gee([1:7]') ans = 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 13

Μπορούμε, επίσης, να πάρουμε τη γραφική παράσταση της συνάρτησης g, π.χ. στο διάστημα [ 2, 2], ως εξής: >> x=linspace(-2,2); >> plot(x,gee(x)) 14

Παράδειγμα function [Ainv] = invnew(a) % Elegxei an o pinakas A einai tetragwnikos, an o pinakas A einai antistreyimos, kai an ikanopoiountai oi sunthikes briskei ton antistrofo tou [m,n] = size(a); if m~=n % Elegkse an o A einai tetragwnikos disp('matrix A is not square.'); return %eksodos apo to programma elseif rank(a) ~= n disp('matrix is singular'); return %eksodos apo to programma else Ainv = inv(a); 15

>> A=rand(4); >> invnew(a) >> A=rand(3,2); >> invnew(a) Matrix A is not square. >> A=zeros(3) >> invnew(a) Matrix is singular 16

Βιβλιογραφία 1. Γ. Γεωργίου, Χ. Ξενοφώντος. Εισαγωγή στη MATLAB. Πανεπιστήμιο Κύπρου, Λευκωσία, 2007 (ISBN 978-9963-644-57-5). 2. Matlab, High-Performance Numeric Computation and Visualization Software. The Math Works Inc, 1992. 17