Προγραμματισμός στο ΜatLab ΝΙΚ. Α. ΤΣΟΛΙΓΚΑΣ ΧΡΗΣΤΟΣ ΜΑΝΑΣΗΣ
Προγραμματισμός στο ΜatLab Για τον προγραμματισμό στο Matlab χρησιμοποιούνται τέσσερες Δομές Έλεγχου Ροής: Βροχοι for (for Loops) Βροχοι While (while loops) Εντολή If (if statement) Εντολή switch (Switch statement) Πριν τη μελέτη των τεσσάρων δομών έλεγχου, θα παρουσιασθούν οι σχεσιακοί (relational operators) και λογικοί (logical operators) τελεστές. Οι πρώτοι κάνουν σύγκριση και δίνουν ως αποτέλεσμα τη λογική μονάδα εάν η σύγκριση είναι αληθής, διαφορετικά το Μηδέν. Οι δεύτεροι έχουν πιθανές τιμές τη λογική μονάδα 1 (αληθής, true) και το λογικό 0 (ψευδής, false).
ΣΧΕΣΙΑΚΟΙ ΤΕΛΕΣΤΕΣ
Σχεσιακοί Τελεστές ΣΧΕΣΙΑΚΟΙ ΤΕΛΕΣΤΕΣ < μικρότερο Χρησιμοποιούνται για τη σύγκριση βαθμωτών μεγεθών ή πινάκων ιδίων διαστάσεων. ΣΧΕΣΙΑΚΟΙ ΤΕΛΕΣΤΕΣ < μικρότερο <= μικρότερο ή ίσο > μεγαλύτερο >= μεγαλύτερο ή ίσο == ίσο ~= διάφορο (άνισο)
Σχεσιακοί τελεστές Η σύγκριση γίνεται μεταξύ αντιστοίχων στοιχείων Το αποτέλεσμα είναι 1 όταν η συνθήκη ικανοποιείται (TRUE) ή 0 όταν δεν ικανοποιείται (FALSE) Σε περίπτωση σύγκρισης πινάκων οι διαστάσεις τους πρέπει να είναι ίσες (η σύγκριση γίνεται στοιχείο προς στοιχείο)! π.χ. >> 5 == 5 Σύγκριση μιγαδικών: (Μόνο ως προς το Ans =1 πραγματικό μέρος) 1+5i < 2 + i : Ans =1 Ans 1 >> 20 >= 15 >> 10~=5 Ans 1
Σχεσιακοί Τελεστές - Ασκήσεις A = [1 2 4 5 B = 7 C = [2 2 2 2 6 3 8 2] 2 2 2 2] Δοκιμάστε: >>A > B >> A < C Στη σύγκριση πίνακα με πίνακα συγκρίνονται τα ομοθέσια στοιχεία, ενώ στη σύγκριση πίνακα με αριθμό συγκρίνεται κάθε στοιχείο του πίνακα με τον αριθμό αυτό.
Σχεσιακοί τελεστές – συνάρτηση find Σε συνδυασμό με σχεσιακούς τελεστές μπορεί να χρησιμοποιηθεί για τον εντοπισμό όλων των στοιχείων που ικανοποιούν συγκεκριμένα κριτήρια σε ένα διάνυσμα η ένα πίνακα. A = [1 2 4 5 B = 7 C = [2 2 2 2 D = [0 2 0 5 0 2] 6 3 8 2] 2 2 2 2] Εντοπίζει τις θέσεις των στοιχείων που ικανοποιούν το κριτήριο που τίθεται. π.χ >> find(D > 0) ans = 2 4 6 (θέσεις στοιχείων)
Η συνάρτηση find - Παράδειγμα Α= rand(5,4) A = 0.4451 0.5252 0.6813 0.4289 0.9318 0.2026 0.3795 0.3046 0.4660 0.6721 0.8318 0.1897 0.4186 0.8381 0.5028 0.1934 0.8462 0.0196 0.7095 0.68226 [row,column]=find(A>0.5) r = 2 5 1 3 4 z=find(A>0.5) Θέσεις z = 2 5 6 8 9 11 13 14 15 20 T= A(z) Βλέπουμε τους αριθμούς c = 1 2 3 4
Σχεσιακές Συναρτήσεις Σε νεώτερες εκδόσεις της MatLab χρησιμοποιούμε ισοδύναμες σχεσιακές συναρτήσεις αντί των σχεσιακών τελεστών X=y eq(x,y) 1>=5 ge(1,5) A~=B ne(A,B) (a+b) <(c/d) lt(a+b, c/d)
Ενσωμάτωση συναρτήσεων Μια συνάρτηση μπορεί να ενσωματωθεί σε μια άλλη συνάρτηση, δηλαδή το όρισμα μιας συνάρτησης μπορεί να είναι το αποτέλεσμα μιας άλλης συνάρτησης. Η ενσωμάτωση μπορεί να περιλαμβάνει περισσότερα του ενός επίπεδα π.χ. αν D = [0 2 0 3 0 2] τότε, η D(find(D>0)) έχει ως αποτέλεσμα 2 3 2, ενώ η D(D(find(D>0))) έχει ως αποτέλεσμα 2 0 0
ΕΚΤΕΛΕΣΗ ΠΟΛΛΑΠΛΩΝ ΕΝΤΟΛΩΝ
Τεχνάσματα Εισαγωγή μεγάλων γραμμών κώδικα Σε περίπτωση που μια εντολή του matlab περιέχει πολλούς υπολογισμούς, ενσωματωμένες συναρτήσεις ή μεγάλα ονόματα μεταβλητών, είναι πιθανό να πρέπει να επεκταθεί σε περισσότερες από μία γραμμές Η επέκταση αυτή μπορεί να πραγματοποιηθεί με χρήση του συμβόλου ‘…’ π.χ. >> long_variable_name1 + long_variable_name2 + mean(long_variable_name3) >> long_variable_name1 + long_variable_name2 + … mean(long_variable_name3)
Τεχνάσματα Εισαγωγή πολλαπλών γραμμών χωρίς την άμεση εκτέλεσή τους Πραγματοποιείται με χρήση Shift+Enter ή Shift+Return. Για την εκτέλεση του συνόλου των εντολών πρέπει να πατηθεί το Enter (ή Return).
Matlab Scripts Εισαγωγή πολλαπλών γραμμών χωρίς την άμεση εκτέλεσή τους Το Matlab μπορεί να εκτελέσει αλληλουχίες εντολών αποθηκευμένες σε αρχεία. Τα αρχεία αυτά πρέπει να έχουν extension ‘.m’ Τα *.m files συντάσσονται και αποθηκεύονται με τη βοήθεια του ενσωματωμένου στο matlab m-file editor Εκτελούνται είτε από το περιβάλλον του m-file editor είτε από το παράθυρο εντολών Τα m-files μπορούν να καλούν άλλα m-files **Απαραίτητη προϋπόθεση είναι να έχει ορισθεί στο matlab η θέση του m-file.
Matlab Scripts Πλεονεκτήματα των m-files Εύκολη τροποποίηση και αποθήκευση κώδικα Αναγνωσιμότητα/Φορητότητα - με την προσθήκη μη εκτελέσιμων σχολίων (με χρήση του συμβόλου ‘%’) τα οποία υποβοηθούν στην κατανόηση της λειτουργίας που επιτελείται Η αποθήκευση m-file απαιτεί πολύ λιγότερη μνήμη απ΄ότι η αποθήκευση του χώρου εργασίας.
Λογικοί Τελεστές Χρησιμοποιούνται για τη σύγκριση Boolean τιμών Οι Boolean τιμές χρησιμοποιούνται για την αναπαράσταση των ‘true’ και ‘false’ (συνήθως 1 και 0 αντίστοιχα) Στο matlab η τιμή ‘false’ ή 0 σημαίνει διάψευση της συνθήκης και οποιοσδήποτε θετικός ή ‘true’ σημαίνει επαλήθευσή της
Λογικοί Τελεστές A & B = ? Logical Operators & AND | OR ~ NOT Ο τελεστής & (AND) επιστρέφει την τιμή TRUE μόνον εάν οι τιμές τόσο του Α όσο και του Β είναι TRUE Πίνακας αληθείας A B Αποτέλεσμα & (AND) : 1 1 1 1 0 0 0 1 0 0 0 0 A & B = ?
Λογικοί Τελεστές A | B = ? Logical Operators & AND | OR ~ NOT Ο τελεστής | (OR) επιστρέφει TRUE εάν είτε το A είτε το B είναι TRUE. Πίνακας αληθείας A B Αποτέλεσμα | (OR) 1 1 1 1 0 1 0 1 1 0 0 0 A | B = ?
Λογικοί Τελεστές ~A = ? ~B = ? Logical Operators & AND | OR ~ NOT Πίνακας Αληθείας ~ (NOT) : A ~A B ~B 1 0 1 0 0 1 0 1 ~A = ? ~B = ?
Λογικοί Τελεστές - Παραδείγματα Παραδείγματα: A = 0 B = false C = 1 D = 8 E = true F = [ 0 1 0 2 0 3 0 1] Βρείτε: >>A & B >>A & C >>A & D >>A & E >>A & F >>A | B >>A | C >>A | D >>A | E >>A | F >> ~A >> ~B >> ~C >> ~D >> ~E >> ~F >> ~A&C >> ~C & F
Λογικοί Τελεστές - Παραδείγματα Παράδειγμα A = -2 0 3 1 B = 2 -3 1 2 Ποια η διαφορα μεταξυ ~(Α>1) και ~Α>1 ??? ans = 0 0 1 0 A>1&B<2 ans = 0 1 1 0 A>1|B<2 ans = 1 1 0 1 ~(A>1
Λογικοί Τελεστές Προτεραιότητα εκτέλεσης: Κατά την εκτέλεση πολλαπλών λογικών πράξεων ο τελεστής ~ (NOT) εκτελείται πρώτος και ακολουθείται από τους & (AND) και | (OR). π.χ. A&B|C = (A&B) | C A|B&C = A | (B&C) A&~B|C = (A&(~B)) | C A|~B&C = A | ((~B)&C)
Έλεγχος Ροής
Έλεγχος Ροής Για τον έλεγχο ροής στο matlab χρησιμοποιούνται: Εντολές συνθήκης (condition statements) και Βρόχοι (loops)
Εντολές συνθήκης Πολλές φορές είναι αναγκαίο ορισμένες εντολές να εκτελούνται μόνον εφόσον ικανοποιούνται ορισμένες συνθήκες. Ο καθορισμός των συνθηκών γίνεται με τη βοήθεια σχεσιακών και λογικών τελεστών. Ο έλεγχος ροής στο matlab πραγματοποιείται με τις εντολές ‘If’, ‘Else’, ‘Elseif’ και ‘Switch’
Εντολές Συνθήκης If, Else, και Elseif if logical_expression commands Το σύνολο των εντολών υπό συνθήκη τερματίζεται με την εντολή end Εάν η λογική έκφραση είναι ψευδής, όλες οι υπό συνθήκη εντολές παραλείπονται. Η εκτέλεση του script συνεχίζεται μετά την εντολή end. Basic form: if logical_expression commands end
Εντολές Συνθήκης - Δομή Engienering H192 Winter 2005 Εντολές Συνθήκης - Δομή Η Δομή της εντολής: elseif είναι μια λέξη. if expression1 % Είναι αληθής % εκτέλεσε αυτές τις εντολές. elseif expression2 % Είναι αληθής else % Η Προεπιλογήt % εκτέλεσε αυτές τις εντολές end Instructor notes: Like C/C++ Matlab has an if-elseif-else structure for decision making or branching. There are a few differences between Matlab and C/C++. In Matlab, elseif is one word, rather than two, as it is in C/C++. Curly brackets are not used in Matlab at all, and the end of the if-elseif-else block is denoted with end. Just like in C/C++ expressions are evaluated to be true or false and when an expression evaluates to true, then the statements that correspond to that section of the block are executed. Parentheses are not required around the expression being evaluated. Lecture 21
Εντολές συνθήκης Παράδειγμα A = 6; B = 0; if A > 6 D = [1 2 6] A = A + 1 end if A | B E = mean(B)
Εντολές συνθήκης If, Else, and Elseif if logical_expression commands 1 end
Εντολές συνθήκης Παράδειγμα A = 6; B = 0; if A > 6 D = [1 2 6] A = A + 1 else D = [ 0 0 0] A = A - 1 end if A & B E = mean(B) else E = 0 end
Εντολές συνθήκης If, Else, and Elseif Στο παράδειγμα που ακολουθεί, η πρώτη εντολή elseif ενεργοποιεί την εκτέλεση του συνόλου των εντολών που την ακολουθούν, εφόσον η logical_expression_1 είναι ψευδής και η logical_expression_2 είναι αληθής. Εάν αυτή είναι ψευδής και logical_expression_3 είναι αληθής, εκτελείται το σύνολο εντολών commands 3 διαφορετικά δεν εκτελείται κανένα σύνολο εντολών. if logical_expression_1 commands 1 elseif logical_expression_2 commands 2 elseif logical_expression_3 commands 3 end
Εντολές συνθήκης Ποιές θα είναι οι τιμές των D, A μετά την εκτέλεση του παρακάτω κώδικα; A = 6; B = 0; if A > 3 D = [1 2 6] A = A + 1 elseif A > 2 D = D + 1 A = A + 2 end
Εντολές συνθήκης - Παράδειγμα Η Συνάρτηση g ορίζεται ως: Δημιουργία m file: function [G] = gee(x) for i=1:length(x) if x(i) <= 0.5 G(i) = x(i)^2; else G(i) = 0.25; end
Η εντολή switch/case switch switch_expression case value_1 statement(s) case value_2 case value_3 ………….. otherwise end
Παρατηρήσεις για Εντολή switch/case Παρατηρήσεις: Η πρώτη γραμμή περιέχει την λέξη switch, ακολουθούμενη από το όνομα switch_expression (π.χ αλφαριθμητικό, μαθηματική παράσταση). Μετά ακολουθούν οι διάφορες εντολές case. Κάθε εντολή έχει ένα ονομα (π.χ. value _1, value_2 κλπ) (π.χ αλφαριθμητικό) και μετά ακολουθούν οι εντολές που θα εκτελεστούν αν βρεθούμε στη συγκεκριμένη περίπτωση. Στο τέλος ακολουθεί η προαιρετική περίπτωση/εντολή otherwise της οποίας οι εντολές θα εκτελεστούν αν καμιά από τις προηγούμενες περιπτώσεις δεν ισχύει. Δεν χρειάζεται να διακόψουμε τη ροή της δομής μετά από κάθε case, αυτό θα γίνει αυτόματα μόλις επαληθευτεί μια case.
Εντολή Συνθήκης Switch Εντολή Συνθήκης Switch Η εντολή switch μπορει να χρησιμοποιηθεί σαν πολλές elseif: εκτελεί μόνο την εντολή case της οποίας η τιμή είναι ίση με την τιμή της expression. switch expression case value 1 commands 1 case value 2 commands 2 case value n commands n end
Παράδειγμα μετατροπής από inches, μέτρα και χιλιοστά σε εκατοστά case { 'millimeter','mm'} y = x/10; disp(' ') disp(‘Σε (cm), το αποτέλεσμα είναι ') disp(y) case {'cm','centimeter'} y = x; disp(‘Σε εκατοστά(cm), το αποτέλεσμα είναι ') otherwise disp([‘Άγνωστες μοναδες:' units]) y = nan; end x = input(‘Τιμή μεταβλητής για μετατροπή: '); units = input(‘Μονάδες μέτρησης μέσα σε απόστροφο): '); switch units case {'in','inch'} y = 2.54*x; % Μετατροπή σε %εκατοστα disp(‘ ') disp(‘Σε (cm), το αποτέλεσμα είναι ') disp(y) case {'m','meter'} y = x*100; %Μετατροπή σε εκατοστά disp(' ')
Εντολές συνθήκης Ποια θα είναι η τιμή των Α,D μετά την εκτέλεση του πιο κάτω κώδικα; A = 6; B = 0; switch A case 4 D = [ 0 0 0] A = A - 1 case 5 B = 1 case 6 D = [1 2 6] A = A + 1 end
Βρόχοι
Βρόχοι Επιτρέπουν την επανάληψη εκτέλεσης ενός συνόλου εντολών με συγκεκριμένο, ελεγχόμενο τρόπο. Το matlab χρησιμοποιεί δύο τύπους βρόχων: For loops While loops
Βρόχοι For Loops Ο βρόχος for loop εκτελεί μια εντολή (ή σύνολο εντολών) ένα προκαθορισμένο αριθμό φορών. for index = start value : increment : end value statement #1 statement #2 statement #3 end ** εάν το increment δεν καθορισθεί, θεωρείται ίσο με τη μονάδα.
Βρόχοι For Loops Παράδειγμα: for i = 1:1:100 x(i) = 0 end
Βρόχοι Παράδειγμα for n = 1:1:4 fprintf (‘ The value of n is %d\n’ n) Array1(n)= n; Array2(n)= n^2; end
Βρόχοι For Loops Στις εφαρμογές απαιτείται μέσα σ’ ένα βρόχο να δημιουργήσουμε ένα άλλο (εσωτερικό) βρόχο και σ’ αυτόν ένα άλλο βρόχο κοκ. Ονομάζονται πολλαπλοί ή εγκιβωτισμένοι βρόχοι (nested loops). A = [ ] for i = 1:m for j = 1:n A(i,j) = i + j end
Βρόχοι Παράδειγμα A = for i=1:3 for j=1:3 1 5 -3 A2(i,j)=A(i,j)^2 1 5 -3 2 4 0 -1 6 9 for i=1:3 for j=1:3 A2(i,j)=A(i,j)^2 end
Βρόχοι Παράδειγμα format compact for i = 1:Rows for j = 1:Columns Rows = input(‘ Εισαγωγή αριθμού γραμμών στον πίνακα: '); Columns = input(' Εισαγωγή αριθμού στηλών στον πίνακα: '); for i = 1:Rows for j = 1:Columns fprintf('Enter A(%0.0f,%0.0f):',i,j); A(i,j) = input(' '); end A
Βρόχοι While Loops Ο βρόχος while εκτελεί μια εντολή (ή σύνολο εντολών) καθόλο το διάστημα για το οποίο η μεταβλητή ελέγχου είναι αληθής. Οι λέξεις “while” και “end” χρησιμοποιούνται στην αρχή και στο τέλος του βρόχου. Η ακολουθία εντολών «statements» εκτελούνται εφόσον η συνθήκη relation ικανοποιείται (δηλ. είναι αληθής) και σταματούν όταν αυτή παύει να ισχύει. Για την συνθήκη relation χρησιμοποιούνται οι σχεσιακοί και λογικοί τελεστές. while relation statement #1 end
Βρόχοι While Loops while A > 0 & B < 10 A = A + 1 B = B – 2 end Παράδειγμα: A = 6 B = 15 while A > 0 & B < 10 A = A + 1 B = B – 2 end
Βρόχοι Διακοπή εκτέλεσης βρόχου Η εντολή ‘break’ τερματίζει άμεσα ένα βρόχο for ή while Η εκτέλεση του κώδικα συνεχίζεται μετά και έξω από τον αντίστοιχο βρόχο. Η εντολή break ορίζεται μόνο μέσα σε βρόχους for και while.
Βρόχοι Διακοπή εκτέλεσης βρόχου while A > 0 & B < 10 A = A + 1 Example: A = 6 B = 15 count = 1 while A > 0 & B < 10 A = A + 1 B = B + 2 count = count + 1 if count > 100 break end
Συναρτήσεις Αποτελούν δομικά στοιχεία ενός προγράμματος Επιτρέπουν τη γενίκευση και επαναχρησιμοποίηση του κώδικα Δέχονται ένα σύνολο δεδομένων, εκτελούν ένα σύνολο εντολών και αποδίδουν μια έξοδο (αποτέλεσμα)
Συναρτήσεις στο Matlab Στο Matlab, κάθε συνάρτηση είναι ένα .m file μια καλή τακτική είναι το όνομα του αρχείου να ταυτίζεται με το όνομα της συνάρτησης. function outargs = funcname(inargs); Function input output
Παράδειγμα Υπολογισμός του κύβου ενός αριθμού -> (x3) Γράψτε τον παρακάτω κώδικα σε ένα .m file και αποθηκεύστε το με το όνομα cube.m Επιλέξτε το κατάλληλο directory στο Matlab Στο παράθυρο εντολών, γράψτε cube(3). Ελέγξτε το αποτέλεσμα. Η συνάρτηση cube μπορεί να χρησιμοποιηθεί για τον υπολογισμό του κύβου οποιουδήποτε αριθμού. function [y] = cube(x) y = x*x*x; >> cube(5) Ans = 125 >> cube(1.75) Ans = 5.3594
Προσθήκη βοήθειας Προσθέστε ένα σχόλιο μεταξύ του ορισμού της συνάρτησης και της πρώτης γραμμής κώδικα. γράψτε help cube στο παράθυρο εντολών function [y] = cube(x) % text to be displayed by help function y = x*x*x; >> help cube text to be displayed by help function
Αρχεία Συναρτήσεων Αρχεία συναρτήσεων (function m-files) έχουν μια γραμμή ορισμού συνάρτησης, δέχονται ορίσματα εισόδου και επιστρέφουν μεταβλητές εξόδου, και των οποίων οι εσωτερικές μεταβλητές είναι τοπικές. Τα αρχεία συναρτήσεων (function m-files) περιέχουν εντολές του MATLAB με μεταβλητές εισόδου, input1, input2, …. με την οποία υπολογίζονται νέες μεταβλητές εξόδου output1, output2, …..
Η Δομή των Αρχείων Συναρτήσεων Η Δομή των Αρχείων Συναρτήσεων Είναι η εξής: Επικεφαλίδα (header) function [output1, output2, ….] = filename (input1, input2, ….) To filename είναι το όνομα της συνάρτησης (function), η οποία αποθηκεύεται στο m-file με όνομα filename.m.
Η Δομή των Αρχείων Συναρτήσεων Η Δομή των Αρχείων Συναρτήσεων Είναι η εξής: Σχόλια (comments) Ξεκινούν με το σύμβολο % και είναι προαιρετικά. Εντολές (statements) Εντολές της MATLAB με τις οποίες υπολογίζονται οι μεταβλητές εξόδου output1 = ……. output2 = …….
Η Δομή των Αρχείων Συναρτήσεων Η Δομή των Αρχείων Συναρτήσεων Είναι η εξής: Υποσυναρτήσεις (subfunctions) Είναι εσωτερικές συναρτήσεις functions που περιέχονται στο αρχείο filename.m. Ορίζονται με τον ίδιο ακριβώς τρόπο, π.χ. function [out1, out2,] = subfname (x, y, z)
Η Δομή των Αρχείων Συναρτήσεων με Υποσυνάρτηση Η Δομή των Αρχείων Συναρτήσεων με Υποσυνάρτηση function [mean, stdev] = stat2(x) % function [mean,stdev] = stat2(x) Υπολογιζει %τον Μ.Ο. και τυπικη αποκλιση. n = length(x); mean = avg(x,n); stdev = sqrt(sum((x-avg(x,n)).^2)/n); %------------------------- function mean = avg(x,n) %Υποσυναρτηση για τον Μ.Ο mean = sum(x)/n;
Η Δομή των Αρχείων Συναρτήσεων Η Δομή των Αρχείων Συναρτήσεων Γενικά: Μια συνάρτηση μπορεί να δεχθεί οποιοδήποτε αριθμό δεδομένων και να αποδώσει οποιοδήποτε αριθμό αποτελεσμάτων. Για παράδειγμα, η συνάρτηση cube μπορεί να επεκταθεί για να δέχεται δύο αριθμούς ως εισόδους και να υπολογίζει τον κύβο του καθενός απ’ αυτούς. function [y1, y2] = cube(x1, x2) % text to be displayed by help function y1 = x1*x1*x1; y2 = x2*x2*x2 >> cube(2,3) Ans = 8 >> [a b] = cube(2,3) a = 8 b = 27
nargin Το Matlab δέχεται την κλήση μιας συνάρτησης με οποιοδήποτε αριθμό εισόδων και εξόδων Η συνάρτηση nargin μπορεί να χρησιμοποιηθεί για τον προσδιορισμό των εισόδων που έχει παράσχει ο χρήστης. function [y1, y2] = cube(x1, x2) if nargin == 1 y1 = x1*x1*x1; y2 = nan; elseif nargin == 2 y2 = x2*x2*x2; end >> cube(2,3) Ans = 4 >> [a b] = cube(2,3) a = 8 b = 27
return Η συνάρτηση return τερματίζει τους υπολογισμούς και επιστρέφει τα αποτελέσματα που έχουν υπολογισθεί. function [y1, y2] = cube(x1, x2) if nargin == 1 y1 = x1*x1*x1; y2 = nan; return end y2 = x2*x2*x2; >> cube(2,3) Ans = 4 >> [a b] = cube(2,3) a = 8 b = 27
Υπολογισμός του Κύβου οσωνδήποτε Αριθμών Υπολογισμός του Κύβου οσωνδήποτε Αριθμών Μπορεί να επιτευχθεί με τη χρήση διανυσμάτων function [y] = cube(x) y = x.^3; Ο τελεστής .^ σημαίνει ύψωση του καθενός από τα στοιχεία του διανύσματος x στην τρίτη δύναμη >> cube(2) Ans = 8 >> cube([2 3]) Ans = [8 27]