Εισαγωγή στο MATLAB Στη συγγραφή των σημειώσεων συνέβαλαν οι μεταπτυχιακές φοιτήτριες Ελισάβετ Πισιάρα και Σπυρούλα Οδυσσέως
Περιεχόμενα Εισαγωγή στο MATLAB: Δ12-2 Εισαγωγή Μεταβλητές (Variables) Πίνακες και Διανύσματα (Matrices and Vectors) Input / Output Προγραμματισμός στο Matlab Διαγράμματα Εφαρμογές
1. Εισαγωγή
Τι είναι το Matlab; Εισαγωγή στο MATLAB: Δ12-4 ΗονομασίαMatlab προέρχεται από τις λέξεις MATrix LABoratory. Το Matlab είναι ένα «υπολογιστικό εργαλείο» με τη βοήθεια του οποίου μπορεί να εκτελεστεί μεγάλος αριθμός υπολογισμών με τη χρήση ελάχιστων εντολών. Αυτό επιτυγχάνεται με τη χρήση εντολών συναρτήσεων οι οποίες είτε βρίσκονται ήδη αποθηκευμένες στη μνήμη του υπολογιστή είτε συντάσσονται από τον ίδιο το χρήστη, ανάλογα με το πρόβλημα που τον ενδιαφέρει να επιλύσει. Οι δυνατότητες που δίνει η εφαρμογή αυτή είναι τεράστιες. Επιτρέπει τη χρήση των έτοιμων ρουτίνων του, και σε περίπτωση που καμία από αυτές δεν επαρκεί για την επίλυση κάποιου προβλήματος, «βοηθάει» στη δημιουργία νέων αλγορίθμων συναρτήσεων που επιλύνουν το πρόβλημα. Κάποιες χαρακτηριστικές χρήσεις: Μαθηματικοί Υπολογισμοί Δημιουργία αλγόριθμου Ανάλυση στοιχείων και διερεύνησή τους Δημιουργία επιστημονικών και μηχανικών γραφημάτων για παρουσιάσεις.
Εισαγωγή στο MATLAB: Το Περιβάλλον του Matlab (Matlab Environment) Δ12-5 Το Matlab περιέχει τα πιο κάτω βασικά τμήματα: Workspace (Χώρος εργασίας): Περιλαμβάνει όλες τις καθορισμένες μεταβλητές. Command Window (Παράθυρο εντολής): Γίνεται η εισαγωγή και εξαγωγή εντολών και αποτελεσμάτων στο περιβάλλον του Matlab. Command History (Εντολή ιστορίας): Αποθηκεύει όλες τις εντολές που χρησιμοποιήθηκαν.
Εισαγωγή στο MATLAB: Το Περιβάλλον του Matlab (Matlab Environment) Δ12-6
Εισαγωγή στο MATLAB: Το Περιβάλλον του Matlab (Matlab Environment) Δ12-7 Command Window Επιτρέπει την αλληλεπίδραση με το Matlab. Οι διαδικασίες cut και paste διευκολύνουν την επανάληψη των στοιχείων. Χρησιμοποιώντας το πλήκτρο up arrow εμφανίζονται οι προηγούμενες εντολές που εισήχθησαν.
Εισαγωγή στο MATLAB: Το Περιβάλλον του Matlab (Matlab Environment) Δ12-8 Workspace Περιλαμβάνει όλες τις καθορισμένες μεταβλητές με την σειρά που εισάχθηκαν, τις διαστάσεις τους, τη χωρητικότητα που καταλαμβάνουν και την τάξη που ανήκουν.
Εισαγωγή στο MATLAB: Το Περιβάλλον του Matlab (Matlab Environment) Δ12-9 Current Directory Παρέχει γρήγορη πρόσβαση σε όλα τα διαθέσιμα αρχεία που βρίσκονται στο συγκεκριμένο directory. Παρέχει μια συνοπτική περιγραφή για κάθε M file.
Εισαγωγή στο MATLAB:Δ12-10 Το Περιβάλλον του Matlab (Matlab Environment) Different Views Το περιβάλλον του Matlab μπορεί να εμφανίζεται με διάφορους τρόπους. Αυτό μπορεί να γίνει με την εντολή VIEW από το μενού.
Βοήθεια στο Matlab (Matlab Help) Εισαγωγή στο MATLAB:Δ12-11 Με τη βοήθεια που παρέχει το Matlab μπορεί κάποιος να μάθει εξαιρετικά πώς να χρησιμοποιεί το λογισμικό. Παρέχει το θεωρητικό υπόβαθρο αλλά και διάφορες εφαρμογές. ΗΒοήθειαστοMatlab μπορεί να ενεργοποιηθεί από την εντολή Help στο μενού. Οποιαδήποτε περιγραφή εντολής μπορεί να αναζητηθεί με την δακτυλογράφηση της εντολής στο search. Μπορεί επίσης να χρησιμοποιηθεί και από το παράθυρο εντολής (Command Window)
Βοήθεια στο Matlab (Matlab Help) Εισαγωγή στο MATLAB:Δ12-12 Οι πιο κάτω εντολές μπορεί να εισαχθούν στο παράθυρο εντολής για την εξαγωγή πληροφοριών: Εντολή help helpwin helpdesk help topic Λειτουργία Εντολής Παρουσιάζει τις κατηγορίες στις οποίες παρέχεται βοήθεια. Ανοίγει το διαδραστικό παράθυρο βοήθειας. Ανοίγει το παράθυρο αναζήτησης βοήθειας μέσω του διαδικτύου. Παρέχει βοήθεια για το θέμα topic. lookfor string Παρουσιάζει τις κατηγορίες βοήθειας που περιλαμβάνουν τη φράση string demo Παρουσιάζει επίδειξη κάποιων λειτουργιών του Matlab.
2. Μεταβλητές (Variables)
Γενικοί Κανόνες Εισαγωγή στο MATLAB:Δ12-14 Όνομα Μεταβλητής: Πρέπει να αρχίζει με ένα γράμμα (x, y, MyVar, ) Μπορεί να περιλαμβάνει μόνο γράμματα, ψηφία και το σύμβολο _ (underscore). Το Matlab είναι σε κάποιες περιπτώσεις ευαίσθητο όσο αφορά τον τρόπο ονομασίας της μεταβλητής. Το one από το ONE είναι δύο διαφορετικές μεταβλητές. Tο Matlab αναγνωρίζει μόνο τους πρώτους 31 χαρακτήρες στο όνομα της μεταβλητής. Δήλωση Μεταβλητής: Μεταβλητή = αριθμό; (x = 123;) Μεταβλητή = έκφραση; (x = y + 123;) Ειδικές Μεταβλητές: ans: μεταβλητή που δίνει το αποτέλεσμα pi: π = 3.1415926 inf: άπειρο NAN ή nan: κανένας αριθμός (not a number) i και j: μιγαδικός αριθμός
Βοηθητικές Εντολές Εισαγωγή στο MATLAB:Δ12-15 Εντολή Λειτουργία Εντολής who Παρουσιάζει τις μεταβλητές που βρίσκονται στο χώρο εργασίας (workspace) whos Παρουσιάζει τις μεταβλητές που βρίσκονται στο χώρο εργασίας (workspace) καθώς και τις διαστάσεις τους clear Διαγράφει όλα τα στοιχεία από το χώρο εργασίας (workspace). Έτσι όλες τις μεταβλητές διαγράφονται clear x y z Διαγράφει μόνο τις μεταβλητές x, y και z clear all clc clf Διαγράφει όλες τις μεταβλητές και τις συναρτήσεις από το χώρο εργασίας (workspace) Διαγράφει όλα τα στοιχεία από το παράθυρο εντολών (command window). Έτσι το ιστορικό των εντολών διαγράφεται Καθαρίζει το παράθυρο διαγραμμάτων % Ό,τι γράφεται μετά από αυτό δε λαμβάνεται υπόψη κατά την εκτέλεση του προγράμματος
3. Πίνακες και Διανύσματα (Matrices and Vectors)
Γενικές Εντολές Εισαγωγή στο MATLAB:Δ12-17 Οι υπολογισμοί στο Matlab γίνονται βάση πινάκων και διανυσμάτων. Πως δημιουργείται ένα διάνυσμα σε γραμμή: A = [12 13 pi pi]; ή A = [12,13,pi, pi]; Πως δημιουργείται ένα διάνυσμα σε στήλη: B = [12; 13; pi; pi;]; Πως δημιουργείται ένα πίνακα: C = [1 2 3; 4 5 6; 7 8 9]; Χρησιμοποιώντας την άνω κάτω τελεία δημιουργούνται διανύσματα της μορφής: A = 0:0.5:2; A = [0 0.5 1 1.5 2]; A = 10: 2:2; A = [10 8 6 4 2];
Γενικές Εντολές Εισαγωγή στο MATLAB:Δ12-18 Α: Πίνακας, u: Πίνακας Γραμμή, v: Πίνακας Στήλη Εντολή Λειτουργία Εντολής Α(i,j) Είναι το στοιχείο aijτου πίνακα Α, το οποίο βρίσκεται στην τομή της γραμμής i με τη στήλη j. Α(m:n,k:l) Είναι ο υποπίνακας του πίνακα Α που σχηματίζεται λαμβάνοντας από αυτόν τα στοιχεία που ανήκουν στις γραμμές m έως n και στις στήλες k έως l. Α(m:n,:) Είναι ο υποπίνακας του πίνακα Α που σχηματίζεται λαμβάνοντας από αυτόν τα στοιχεία που ανήκουν στις γραμμές m έως n για όλες τις στήλες. size(a) Δίνει τις διαστάσεις του πίνακα Α (πλήθος γραμμών και στηλών). Α(i,:)=[] Διαγράφει τη γραμμή i του πίνακα Α. A Δίνει τον ανάστροφο του πίνακα Α. Α=[Α; u] Προσάπτει τον πίνακα γραμμή u στον πίνακα Α. Α=[Α v] Προσάπτει τον πίνακα στήλη v στον πίνακα Α.
Γενικές Εντολές Εισαγωγή στο MATLAB:Δ12-19 Row separator semicolon (;) Column separator Space / comma (,)
Γενικές Εντολές Εισαγωγή στο MATLAB:Δ12-20 Rows (m)
Γενικές Εντολές Εισαγωγή στο MATLAB:Δ12-21 Scalar expansion Creating sequences: colon operator (:)
Γενικές Εντολές Εισαγωγή στο MATLAB:Δ12-22
Γενικές Εντολές Εισαγωγή στο MATLAB:Δ12-23
Γενικές Εντολές Εισαγωγή στο MATLAB:Δ12-24 1 2 3 4 5 4 1 10 6 1 11 6 16 2 21 2 3 8 2 1.2 7 7.2 3 5 8 9 12 7 13 4 17 1 18 25 22 11 23 A(1:5,5) A(1:end,end) A(:,5) A(:,end) A(21:25) A(21:end) A(3,1) A(3) 4 0 4 0.5 9 4 14 5 19 56 24 5 23 5 83 10 13 15 0 20 10 25 A(4:5,2:3) A([9 14;10 15])
Βοηθητικές Εντολές Εισαγωγή στο MATLAB:Δ12-25 Α: Πίνακας, u: Πίνακας Γραμμή, v: Πίνακας Στήλη Εντολή eye(m,n) Λειτουργία Εντολής Επιστρέφει πίνακα m x n με μονάδες στη διαγώνιο. zeros(m,n) Επιστρέφει μηδενικό πίνακα m x n. ones(m,n) Επιστρέφει πίνακα m x n με όλα τα στοιχεία του μονάδες. diag(v) diag(a) Δημιουργεί διαγώνιο πίνακα με το διάνυσμα v στη διαγώνιο Εξάγει τη διαγώνιο του πίνακα Α ως διάνυσμα. diag(a,i) Εξάγει ως διάνυσμα την i οστή διαγώνιο που βρίσκεται πάνω από την κύρια διαγώνιο του πίνακα Α. v=a:n:b Δημιουργεί διάνυσμα με αρχική τιμή a, βήμα n και τελική τιμή b.
Εισαγωγή στο MATLAB:Δ12-26 Αριθμητικές Πράξεις (Arithmetic Operations) + Πρόσθεση.* Πολλαπλασιασμός στοιχείων πίνακα Αφαίρεση./ Αριστερή διαίρεση στοιχείων πίνακα * Πολλαπλασιασμός.\ Δεξιά διαίρεση στοιχείων πίνακα / Διαίρεση.^ Ανύψωση στοιχείων πίνακα σε δύναμη ^ Ανύψωση σε δύναμη. Ανάστροφος πίνακα
Πολλαπλασιασμός Πινάκων Εισαγωγή στο MATLAB:Δ12-27 Array Multiplication
Συναρτήσεις Πινάκων Εισαγωγή στο MATLAB:Δ12-28 Εντολή exp(a) log(a) sqrt(a) Λειτουργία Εντολής Δίνει την εκθετική συνάρτηση των στοιχείων του πίνακα Α Δίνει το φυσικό λογάριθμο των στοιχείων του πίνακα Α Δίνει την τετραγωνική ρίζα των στοιχείων του πίνακα Α
Εισαγωγή στο MATLAB:Δ12-29 Στοιχειώδεις Μαθηματικές Συναρτήσεις (Elementary Math Functions) Τριγωνομετρικές Συναρτήσεις (Trigonometric Functions) sin Ημίτονο sinh Υπερβολικό ημίτονο asin Αντίστροφο ημίτονο asinh Αντίστροφο υπερβολικό ημίτονο cos Συνημίτονο cosh Υπερβολικό συνημίτονο acos Αντίστροφο συνημίτονο acosh Αντίστροφο υπερβολικό συνημίτονο tan Εφαπτομένη tanh Υπερβολική εφαπτομένη atan Αντίστροφη εφαπτομένη atanh Αντίστροφη υπερβολική εφαπτομένη cot Συνεφαπτομένη coth Υπερβολική συνεφαπτομένη acot Αντίστροφη συνεφαπτομένη acoth Αντίστροφη υπερβολική συνεφαπτομένη sec Τέμνουσα sech Υπερβολική τέμνουσα asec Αντίστροφη τέμνουσα asech Αντίστροφη υπερβολική τέμνουσα csc Συντέμνουσα csch Υπερβολική συντέμνουσα acsc Αντίστροφη συντέμνουσα acsch Αντίστροφη υπερβολική συντέμνουσα
Εισαγωγή στο MATLAB:Δ12-30 Στοιχειώδεις Μαθηματικές Συναρτήσεις (Elementary Math Functions) Εκθετικές Συναρτήσεις (Exponential Functions) exp log Εκθετική συνάρτηση Φυσικός λογάριθμος log10 Λογάριθμος με βάση το 10 sqrt Τετραγωνική ρίζα nthroot Πραγματική n οστή ρίζα πραγματικών αριθμών Μιγαδικές Συναρτήσεις (Complex Functions) abs Απόλυτη τιμή complex(real,imaginary) Παίρνει το πραγματικό και φανταστικό μέρος και δημιουργεί μιγαδικό αριθμό. conj Δίνει το συζυγή αριθμό μιγαδικού αριθμού. imag real Δίνει το φανταστικό μέρος μιγαδικού αριθμού. Δίνει το πραγματικό μέρος μιγαδικού αριθμού.
Εισαγωγή στο MATLAB:Δ12-31 Στοιχειώδεις Μαθηματικές Συναρτήσεις (Elementary Math Functions) Συναρτήσεις Στρογγύλευσης (Round off Functions) fix Στρογγυλεύει προς το 0. floor ceil Στρογγυλεύει προς το + (προς τα πάνω). Στρογγυλεύει προς το (προς τα κάτω). round Στρογγυλεύει προς τον πλησιέστερο ακέραιο.
4. Input / Output
Γενικές Εντολές Εισαγωγή στο MATLAB:Δ12-33 fopen fclose fwrite fprintf fread fscanf load filename Ανοίγει ένα υπαρκτό αρχείο ή δημιουργεί ένα νέο. Κλείνει ένα ανοικτό αρχείο. Γράφει δυαδικά δεδομένα σε κάποιο αρχείο. Γράφει formatted δεδομένα σε κάποιο αρχείο. Διαβάζει δυαδικά δεδομένα από ένα αρχείο. Διαβάζει formatted δεδομένα από ένα αρχείο. Φορτώνει όλα τα στοιχεία του αρχείου με όνομα filename. Παράδειγμα file_id=fopen( file_name.dat, w ); %Ανοίγει το αρχείο file_name.dat ή δημιουργεί ένα νέο με αυτό το όνομα. fprintf(file_id, output ); %Τυπώνει στο αρχείο file_name.dat το output. fclose(file_id); %Κλείνει το αρχείο file_name.dat
Διαδραστικές Εισροές (Interactive Input) Εισαγωγή στο MATLAB:Δ12-34 input(ʹstringʹ) Παρουσιάζει το κείμενο string στην οθόνη και περιμένει από το χρήστη να εισαγάγει δεδομένα μέσω του πληκτρολογίου. input(ʹstringʹ,ʹsʹ) Παρουσιάζει το κείμενο string στην οθόνη και περιμένει από το χρήστη να εισαγάγει χαρακτήρες μέσω του πληκτρολογίου. Το ʹsʹ καθορίζει ότι αυτοί οι χαρακτήρες θα αποθηκευτούν ως string. Σημείωση: ʹ\nʹ σε αλληλουχία χαρακτήρων σημαίνει μεταπήδηση στην επόμενη γραμμή.
5. Προγραμματισμός στο Matlab
M files Εισαγωγή στο MATLAB:Δ12-36 Ο προγραμματισμός στο Matlab γίνεται στα M files. Υπάρχουν δύο είδη M files: Scripts Δεν δέχονται inputs αλλά ούτε και επιστρέφουν outputs. Οι μεταβλητές αποθηκεύονται στο Workspace. Functions Δέχονται inputs και επιστρέφουν outputs. Οι μεταβλητές είναι τοπικές στην συνάρτηση και δεν μπορούν να χρησιμοποιηθούν πουθενά αλλού. Από τις συναρτήσεις μπορούν να δημιουργηθούν επιπλέον υποσυναρτήσεις (subfunctions)
Δημιουργία M file Εισαγωγή στο MATLAB:Δ12-37
Πως φαίνεται ο αλγόριθμος στο M file Εισαγωγή στο MATLAB:Δ12-38
Script Εισαγωγή στο MATLAB:Δ12-39 Παράδειγμα: Εντολές στο Μ file με ονομασία Polar2Cart.m r = 100; theta = 12; x = r*cos(theta); y = r*sin(theta); Εντολή στο Command Window για εκτέλεση του script >>Polar2Cart
Function (Συνάρτηση) Εισαγωγή στο MATLAB:Δ12-40 Αρχεία Συναρτήσεων (Function Files) Οι συναρτήσεις είναι m files και είναι πολύ χρήσιμες σε προγράμματα στα οποία μια διαδικασία πρόκειται να επαναληφθεί για διάφορες τιμές μεταβλητών. Η σύνταξη των συναρτήσεων πρέπει να είναι γενική. Αυτό επιτρέπει επαναλαμβανόμενη «κλήση» της συνάρτησης για διάφορες τιμές των μεταβλητών ή ακόμα και από άλλα προγράμματα που απαιτούν τη διαδικασία που εκτελεί η συνάρτηση. Η πρώτη γραμμή των συναρτήσεων περιλαμβάνει τον ορισμό της συνάρτησης, ο οποίος έχει την ακόλουθη μορφή και περιλαμβάνει το όνομα της και τις μεταβλητές εισόδου( input variables) και εξόδου (output variables). function [output variables] = function_name (input variables); Ησυνάρτησηfunction_name πρέπει να αποθηκεύεται ως function_name.m.
Function (Συνάρτηση) Εισαγωγή στο MATLAB:Δ12-41 Βασικά Μέρη ενός M file που περιέχει συνάρτηση:
Function (Συνάρτηση) Εισαγωγή στο MATLAB:Δ12-42 Παράδειγμα: Εντολές στο Μ file με ονομασία Polar2Cart.m function [x,y] = Polar2Cart(r,theta); %This function convert Polar to Cartesian x = r*cos(theta); %Compute x component y = r*sin(theta); %Compute y component Εντολή στο Command Window για εκτέλεση του function αφού δοθούν το r και theta >>[x,y] = Polar2Cart(r,theta);
Τελεστές Εισαγωγή στο MATLAB:Δ12-43 Τελεστές Συσχέτισης (Relational Operations) < Μικρότερο >= Μεγαλύτερο ή ίσο <= Μικρότερο ή ίσο == Ίσο > Μεγαλύτερο ~= Άνισο Λογικοί Τελεστές (Logical Operations) & Λογικό και Λογικό ή ~ Λογικό όχι
Ελεγχόμενη Ροή (Flow Control) Εισαγωγή στο MATLAB:Δ12-44 Η Matlab έχει τους εξής ελέγχους: if εντολή switch εντολή for βρόγχοι (loops) while βρόγχοι (loops) break εντολή
Ελεγχόμενη Ροή (Flow Control) Εισαγωγή στο MATLAB:Δ12-45 Βρόχοι for(forloops) Οι βρόχοι for χρησιμοποιούνται σε περιπτώσεις που μια δήλωση (statement) ή ένα σύνολο δηλώσεων επαναλαμβάνονται για δεδομένο αριθμό επαναλήψεων ο οποίος καθορίζεται από το for. Η γενική σύνταξη των βρόχων for έχει την μορφή: for variable = expression statement_1 statement_2 end Οι εντολές (statements) εκτελούνται για τις τιμές της μεταβλητής (variable) που καθορίζονται από τη συνθήκη (expression). Έναςάλλοςτρόποςσύνταξηςτηςεντολήςfor έχει τη μορφή: for S = a: dt: b, do_some_task(s), end Η εντολή do_some_task εκτελείται για S με αρχική τιμή a, αύξηση dt και τελική τιμή b.
Ελεγχόμενη Ροή (Flow Control) Εισαγωγή στο MATLAB:Δ12-46 Παράδειγμα For loop for m=1:3 num=1/(m+1) end num = 0.5000 num = 0.3333 num = 0.2500 for n=6: 2:0, k=exp(n), end k = 403.4288 k = 54.5982 k = 7.3891 k = 1
Ελεγχόμενη Ροή (Flow Control) Εισαγωγή στο MATLAB:Δ12-47 Βρόχοι while (While loops) Οι βρόχοι while χρησιμοποιούνται σε περιπτώσεις που μια εντολή (statement) ή ένα σύνολο εντολών επαναλαμβάνονται για αόριστο αριθμό επαναλήψεων, μέχρι η συνθήκη (expression) που καθορίζεται μέσω του while να μην ικανοποιείται Η γενική σύνταξη των βρόχων while έχει τη μορφή: while expression statements end Οι εντολές (statements) εκτελούνται εφόσον το πραγματικό τμήμα της συνθήκης (expression) λαμβάνει μη μηδενικές τιμές. Η συνθήκη είναι συνήθως το αποτέλεσμα των λογικών εκφράσεων ==, <, >, <=, >=, ~=.
Ελεγχόμενη Ροή (Flow Control) Εισαγωγή στο MATLAB:Δ12-48 Παράδειγμα While loop ρ v=1; num=1; i=1; γμ while num<30 v=[v ; num]; i=i+1; num=2^i end num = 4 num = 8 num = 16 num = 32
Ελεγχόμενη Ροή (Flow Control) Εισαγωγή στο MATLAB:Δ12-49 Εντολές if elseif else (If elseif else statements) Οι εντολές if elseif else δίνουν ένα λογικό κλάδο υπολογισμών. Οι εντολές εκτελούνται υπό συνθήκες. if expression statements elseif expression statements else statements end Εκτελούνται μόνο οι εντολές (statements) για το πρώτο if ή elseif, για το οποίο το πραγματικό τμήμα της αντίστοιχης συνθήκης (expression) λαμβάνει μη μηδενική τιμή. Αφού εκτελεστούν οι εντολές ενός μόνο if ή elseif, η εκτέλεση του προγράμματος συνεχίζει από την εντολή μετά το end. Εάν για όλα τα if και elseif τα πραγματικά τμήματα των αντίστοιχων συνθηκών (expression) λαμβάνουν μηδενικές τιμές, τότε εκτελούνται οι εντολές του else. Τα τμήματα else και elseif είναι προαιρετικά. Η συνθήκη είναι συνήθως το αποτέλεσμα των λογικών εκφράσεων ==, <, >, <=, >=, ~=.
Ελεγχόμενη Ροή (Flow Control) Εισαγωγή στο MATLAB:Δ12-50 Παράδειγμα if elseif else statements ρ i=6; j=21; γμ if i>5 k=i elseif (i>1)&(j==20) k=5*i+j else k=1 end k = 6
Ελεγχόμενη Ροή (Flow Control) Εισαγωγή στο MATLAB:Δ12-51 Εντολές switch case otherwise Οι εντολές switch case otherwise δίνουν ένα λογικό κλάδο υπολογισμών. Οι εντολές εκτελούνται υπό συνθήκες. switch switch_expr case case_expr statement,..., statement case {case_expr_1,.., case_expr_x,..} statement,..., statement... otherwise statement,..., statement end Εκτελούνται μόνο οι εντολές (statements) για το πρώτο case, που θα βρεθεί με case_expr ισοδύναμη με την switch_expr. Αφού εκτελεστούν οι εντολές μιας μόνο case, η εκτέλεση του προγράμματος συνεχίζει από την εντολή μετά το end. Εάν καμία έκφραση case δεν αντιστοιχεί στην switch_expr τότε εκτελείται η δήλωση του otherwise (εάν υπάρχει). Εάν η έκφραση του case έχει τη μορφή {case_expr_1, case_expr_2,..., case_expr_x,...}, τότε για την εκτέλεση του case αρκεί η switch_expr να ισοδυναμεί με οποιοδήποτε από τα στοιχεία case_expr_x.
Ελεγχόμενη Ροή (Flow Control) Εισαγωγή στο MATLAB:Δ12-52 Παράδειγμα switch case otherwise ρ γμ >> color=input(ʹ\ncolor=ʹ,ʹsʹ); switch color case ʹredʹ c=[1 0 0] case ʹgreenʹ c=[0 1 0] case ʹblueʹ c=[0 0 1] otherwise error(ʹinvalid choice of colorʹ) end color=green c = 0 1 0
Ελεγχόμενη Ροή (Flow Control) Εισαγωγή στο MATLAB:Δ12-53 Εντολή break Ηεντολήbreak ορίζεται εντός των βρόχων for και while για να τερματίσει την εκτέλεση τους, ακόμα και όταν η συνθήκη είναι αληθής. Σε εσωτερικούς (ένθετους) βρόγχους, η εντολή break τερματίζει την εκτέλεση μόνο του εσωτερικού βρόγχου. Παράδειγμα break for m=1:3 if m>2 break end num=1/(m+1) end num = 0.5000 num = 0.3333