Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Προγραμματισμός στο ΜatLab ΝΙΚ. Α. ΤΣΟΛΙΓΚΑΣ ΧΡΗΣΤΟΣ ΜΑΝΑΣΗΣ 1.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Προγραμματισμός στο ΜatLab ΝΙΚ. Α. ΤΣΟΛΙΓΚΑΣ ΧΡΗΣΤΟΣ ΜΑΝΑΣΗΣ 1."— Μεταγράφημα παρουσίασης:

1 Προγραμματισμός στο ΜatLab ΝΙΚ. Α. ΤΣΟΛΙΓΚΑΣ ΧΡΗΣΤΟΣ ΜΑΝΑΣΗΣ 1

2 Προγραμματισμός στο ΜatLab Για τον προγραμματισμό στο Matlab χρησιμοποιούνται τέσσερες Δομές Έλεγχου Ροής: 1.Βροχοι for (for Loops) 2.Βροχοι While (while loops) 3.Εντολή If (if statement) 4.Εντολή switch (Switch statement ) Πριν τη μελέτη των τεσσάρων δομών έλεγχου, θα παρουσιασθούν οι σχεσιακοί (relational operators) και λογικοί (logical operators) τελεστές. Οι πρώτοι κάνουν σύγκριση και δίνουν ως αποτέλεσμα τη λογική μονάδα εάν η σύγκριση είναι αληθής, διαφορετικά το Μηδέν. Οι δεύτεροι έχουν πιθανές τιμές τη λογική μονάδα 1 (αληθής, true) και το λογικό 0 (ψευδής, false). 2

3 ΣΧΕΣΙΑΚΟΙ ΤΕΛΕΣΤΕΣ 3

4 Χρησιμοποιούνται για τη σύγκριση βαθμωτών μεγεθών ή πινάκων ιδίων διαστάσεων. ΣΧΕΣΙΑΚΟΙ ΤΕΛΕΣΤΕΣ < μικρότερο <= μικρότερο ή ίσο >μεγαλύτερο >=μεγαλύτερο ή ίσο ==ίσο ~=διάφορο (άνισο) Σχεσιακοί Τελεστές 4

5 Η σύγκριση γίνεται μεταξύ αντιστοίχων στοιχείων Το αποτέλεσμα είναι 1 όταν η συνθήκη ικανοποιείται (TRUE) ή 0 όταν δεν ικανοποιείται (FALSE) Σε περίπτωση σύγκρισης πινάκων οι διαστάσεις τους πρέπει να είναι ίσες (η σύγκριση γίνεται στοιχείο προς στοιχείο)! π.χ. >> 5 == 5 Σύγκριση μιγαδικών: (Μόνο ως προς το Ans =1 πραγματικό μέρος) 1+5i < 2 + i : Ans =1 Ans 1 >> 20 >= 15 Ans 1 Σχεσιακοί τελεστές >> 10~=5 Ans 1 5

6 A = [ B = 7 C = [ ] ] Δοκιμάστε: >>A > B >> A < C Σχεσιακοί Τελεστές - Ασκήσεις Στη σύγκριση πίνακα με πίνακα συγκρίνονται τα ομοθέσια στοιχεία, ενώ στη σύγκριση πίνακα με αριθμό συγκρίνεται κάθε στοιχείο του πίνακα με τον αριθμό αυτό. 6

7 Η συνάρτηση find Σε συνδυασμό με σχεσιακούς τελεστές μπορεί να χρησιμοποιηθεί για τον εντοπισμό όλων των στοιχείων που ικανοποιούν συγκεκριμένα κριτήρια σε ένα διάνυσμα η ένα πίνακα. A = [ B = 7 C = [ D = [ ] ] ] Εντοπίζει τις θέσεις των στοιχείων που ικανοποιούν το κριτήριο που τίθεται. π.χ >> find(D > 0) ans = (θέσεις στοιχείων) Σχεσιακοί τελεστές – συνάρτηση find 7

8 Η συνάρτηση find - Παράδειγμα Α= rand(5,4) A = [row,column]=find(A>0.5) r = z=find(A>0.5) Θέσεις z = T= A(z) Βλέπουμε τους αριθμούς c =

9 Σχεσιακές Συναρτήσεις Σε νεώτερες εκδόσεις της 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) 9

10 Μια συνάρτηση μπορεί να ενσωματωθεί σε μια άλλη συνάρτηση, δηλαδή το όρισμα μιας συνάρτησης μπορεί να είναι το αποτέλεσμα μιας άλλης συνάρτησης. Η ενσωμάτωση μπορεί να περιλαμβάνει περισσότερα του ενός επίπεδα π.χ. αν D = [ ] τότε, η D(find(D>0)) έχει ως αποτέλεσμα 2 3 2, ενώ η D(D(find(D>0))) έχει ως αποτέλεσμα Ενσωμάτωση συναρτήσεων 10

11 ΕΚΤΕΛΕΣΗ ΠΟΛΛΑΠΛΩΝ ΕΝΤΟΛΩΝ 11

12 Εισαγωγή μεγάλων γραμμών κώδικα Σε περίπτωση που μια εντολή του matlab περιέχει πολλούς υπολογισμούς, ενσωματωμένες συναρτήσεις ή μεγάλα ονόματα μεταβλητών, είναι πιθανό να πρέπει να επεκταθεί σε περισσότερες από μία γραμμές Η επέκταση αυτή μπορεί να πραγματοποιηθεί με χρήση του συμβόλου ‘…’ π.χ. >> long_variable_name1 + long_variable_name2 + mean(long_variable_name3) >> long_variable_name1 + long_variable_name2 + … mean(long_variable_name3) Τεχνάσματα 12

13 Εισαγωγή πολλαπλών γραμμών χωρίς την άμεση εκτέλεσή τους Πραγματοποιείται με χρήση Shift+Enter ή Shift+Return. Για την εκτέλεση του συνόλου των εντολών πρέπει να πατηθεί το Enter (ή Return). Τεχνάσματα 13

14 Εισαγωγή πολλαπλών γραμμών χωρίς την άμεση εκτέλεσή τους Το Matlab μπορεί να εκτελέσει αλληλουχίες εντολών αποθηκευμένες σε αρχεία. Τα αρχεία αυτά πρέπει να έχουν extension ‘.m’ Τα *.m files συντάσσονται και αποθηκεύονται με τη βοήθεια του ενσωματωμένου στο matlab m-file editor Εκτελούνται είτε από το περιβάλλον του m-file editor είτε από το παράθυρο εντολών Τα m-files μπορούν να καλούν άλλα m-files **Απαραίτητη προϋπόθεση είναι να έχει ορισθεί στο matlab η θέση του m- file. Matlab Scripts 14

15 Πλεονεκτήματα των m-files Εύκολη τροποποίηση και αποθήκευση κώδικα Αναγνωσιμότητα/Φορητότητα - με την προσθήκη μη εκτελέσιμων σχολίων (με χρήση του συμβόλου ‘%’) τα οποία υποβοηθούν στην κατανόηση της λειτουργίας που επιτελείται Η αποθήκευση m-file απαιτεί πολύ λιγότερη μνήμη απ΄ότι η αποθήκευση του χώρου εργασίας. Matlab Scripts 15

16 Χρησιμοποιούνται για τη σύγκριση Boolean τιμών Οι Boolean τιμές χρησιμοποιούνται για την αναπαράσταση των ‘true’ και ‘false’ (συνήθως 1 και 0 αντίστοιχα) Στο matlab η τιμή ‘false’ ή 0 σημαίνει διάψευση της συνθήκης και οποιοσδήποτε θετικός ή ‘true’ σημαίνει επαλήθευσή της Λογικοί Τελεστές 16

17 Logical Operators & AND | OR ~NOT Ο τελεστής & (AND) επιστρέφει την τιμή TRUE μόνον εάν οι τιμές τόσο του Α όσο και του Β είναι TRUE Πίνακας αληθείας A B Αποτέλεσμα & (AND) : Λογικοί Τελεστές A & B = ? 17

18 Logical Operators & AND | OR ~NOT Ο τελεστής | (OR) επιστρέφει TRUE εάν είτε το A είτε το B είναι TRUE. Πίνακας αληθείας A B Αποτέλεσμα | (OR) Λογικοί Τελεστές A | B = ? 18

19 Logical Operators & AND | OR ~NOT Ο τελεστής ~ (NOT) αντιστρέφει την τιμή της μεταβλητής Πίνακας Αληθείας ~ (NOT) : A ~A B ~B Λογικοί Τελεστές ~A = ? ~B = ? 19

20 Παραδείγματα: A = 0 B = false C = 1 D = 8 E = true F = [ ] Βρείτε: >>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 Λογικοί Τελεστές - Παραδείγματα 20

21 Λογικοί Τελεστές - Παραδείγματα Παράδειγμα Ποια η διαφορα μεταξυ ~(Α>1) και ~Α>1 ??? A = B = A>1&B<2 ans = A>1|B<2 ans = ~(A>1 ans =

22 Προτεραιότητα εκτέλεσης : Κατά την εκτέλεση πολλαπλών λογικών πράξεων ο τελεστής ~ (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) Λογικοί Τελεστές 22

23 Έλεγχος Ροής 23

24 Για τον έλεγχο ροής στο matlab χρησιμοποιούνται: Εντολές συνθήκης (condition statements) και Βρόχοι (loops) Έλεγχος Ροής 24

25 Πολλές φορές είναι αναγκαίο ορισμένες εντολές να εκτελούνται μόνον εφόσον ικανοποιούνται ορισμένες συνθήκες. Ο καθορισμός των συνθηκών γίνεται με τη βοήθεια σχεσιακών και λογικών τελεστών. Ο έλεγχος ροής στο matlab πραγματοποιείται με τις εντολές ‘If’, ‘Else’, ‘Elseif’ και ‘Switch’ Εντολές συνθήκης 25

26 If, Else, και Elseif Η εντολή if υπολογίζει μια λογική έκφραση και εκτελεί ένα σύνολο εντολών εφόσον η έκφραση αυτή είναι αληθής Το σύνολο των εντολών υπό συνθήκη τερματίζεται με την εντολή end Εάν η λογική έκφραση είναι ψευδής, όλες οι υπό συνθήκη εντολές παραλείπονται. Η εκτέλεση του script συνεχίζεται μετά την εντολή end. Basic form: if logical_expression commands end Εντολές Συνθήκης 26

27 Εντολές Συνθήκης - Δομή Η Δομή της εντολής: elseif είναι μια λέξη. ifexpression1 % Είναι αληθής % εκτέλεσε αυτές τις εντολές. elseif expression2% Είναι αληθής % εκτέλεσε αυτές τις εντολές. else% Η Προεπιλογήt % εκτέλεσε αυτές τις εντολές end

28 Παράδειγμα A = 6; B = 0; if A > 6 D = [1 2 6] A = A + 1 end if A | B E = mean(B) end Εντολές συνθήκης 28

29 If, Else, and Elseif Η εντολή else ενεργοποιεί την εκτέλεση του συνόλου των εντολών που την ακολουθούν, εφόσον η λογική έκφραση είναι ψευδής. Είναι προφανες ότι μόνο ένα από τα δύο σύνολα εντολών θα εκτελεσθεί. if logical_expression commands 1 else commands 2 end Εντολές συνθήκης 29

30 Παράδειγμα 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 30

31 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 Εντολές συνθήκης 31

32 Ποιές θα είναι οι τιμές των 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 Εντολές συνθήκης 32

33 Εντολές συνθήκης - Παράδειγμα Η Συνάρτηση g ορίζεται ως: Δημιουργία m file: 33 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

34 Η εντολή switch/case Η εντολή switch-case μας δίνει τη δυνατότητα να επιλέξουμε για εκτέλεση μια ομάδα εντολών από άλλες πιθανές ομάδες. Η γενική της δομή έχει ως εξής: 34 switch switch_expression case value_1 statement(s) case value_2 statement(s) case value_3 statement(s) ………….. otherwise statement(s) end

35 Παρατηρήσεις για Εντολή switch/case Παρατηρήσεις: Η πρώτη γραμμή περιέχει την λέξη switch, ακολουθούμενη από το όνομα switch_expression (π.χ αλφαριθμητικό, μαθηματική παράσταση). Μετά ακολουθούν οι διάφορες εντολές case. Κάθε εντολή έχει ένα ονομα (π.χ. value _1, value_2 κλπ) (π.χ αλφαριθμητικό) και μετά ακολουθούν οι εντολές που θα εκτελεστούν αν βρεθούμε στη συγκεκριμένη περίπτωση. Στο τέλος ακολουθεί η προαιρετική περίπτωση/εντολή otherwise της οποίας οι εντολές θα εκτελεστούν αν καμιά από τις προηγούμενες περιπτώσεις δεν ισχύει. Δεν χρειάζεται να διακόψουμε τη ροή της δομής μετά από κάθε case, αυτό θα γίνει αυτόματα μόλις επαληθευτεί μια case. 35

36 Switch Η εντολή switch μπορει να χρησιμοποιηθεί σαν πολλές elseif: εκτελεί μόνο την εντολή case της οποίας η τιμή είναι ίση με την τιμή της expression. switch expression case value 1 commands 1 case value 2 commands 2 case value n commands n end Εντολή Συνθήκης 36

37 Παράδειγμα μετατροπής από inches, μέτρα και χιλιοστά σε εκατοστά 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(' ') disp(‘Σε (cm), το αποτέλεσμα είναι ') disp(y) case { 'millimeter','mm'} y = x/10; disp (' ') disp ( ‘Σε (cm), το αποτέλεσμα είναι ' ) disp (y) case { 'cm','centimeter'} y = x; disp(' ') disp (‘ Σε εκατοστά(cm), το αποτέλεσμα είναι ') disp (y) otherwise disp(' ') disp ([‘ Άγνωστες μοναδες:' units]) y = nan; end 37

38 Ποια θα είναι η τιμή των Α,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 Εντολές συνθήκης 38

39 Βρόχοι 39

40 Επιτρέπουν την επανάληψη εκτέλεσης ενός συνόλου εντολών με συγκεκριμένο, ελεγχόμενο τρόπο. Το matlab χρησιμοποιεί δύο τύπους βρόχων: 1.For loops 2.While loops Βρόχοι 40

41 For Loops Ο βρόχος for loop εκτελεί μια εντολή (ή σύνολο εντολών) ένα προκαθορισμένο αριθμό φορών. for index = start value : increment : end value statement #1 statement #2 statement #3 end ** εάν το increment δεν καθορισθεί, θεωρείται ίσο με τη μονάδα. Βρόχοι 41

42 For Loops Παράδειγμα: Θέτει την τιμή 0 στα πρώτα 100 στοιχεία του διανύσματος x Βρόχοι 42 for i = 1:1:100 x(i) = 0 end

43 Βρόχοι Παράδειγμα 43 for n = 1:1:4 fprintf (‘ The value of n is %d\n’ n) Array1(n)= n; Array2(n)= n^2; end

44 For Loops Στις εφαρμογές απαιτείται μέσα σ’ ένα βρόχο να δημιουργήσουμε ένα άλλο (εσωτερικό) βρόχο και σ’ αυτόν ένα άλλο βρόχο κοκ. Ονομάζονται πολλαπλοί ή εγκιβωτισμένοι βρόχοι (nested loops). Βρόχοι 44 A = [ ] for i = 1:m for j = 1:n A(i,j) = i + j end

45 Βρόχοι Παράδειγμα 45 A = for i=1:3 for j=1:3 A2(i,j)=A(i,j)^2 end

46 Βρόχοι Παράδειγμα format compact 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 46

47 While Loops Ο βρόχος while εκτελεί μια εντολή (ή σύνολο εντολών) καθόλο το διάστημα για το οποίο η μεταβλητή ελέγχου είναι αληθής. Οι λέξεις “while” και “end” χρησιμοποιούνται στην αρχή και στο τέλος του βρόχου. Η ακολουθία εντολών «statements» εκτελούνται εφόσον η συνθήκη relation ικανοποιείται (δηλ. είναι αληθής) και σταματούν όταν αυτή παύει να ισχύει. Για την συνθήκη relation χρησιμοποιούνται οι σχεσιακοί και λογικοί τελεστές. while relation statement #1 end Βρόχοι 47

48 While Loops Παράδειγμα: A = 6 B = 15 Βρόχοι 48 while A > 0 & B < 10 A = A + 1 B = B – 2 end

49 Διακοπή εκτέλεσης βρόχου Η εντολή ‘break’ τερματίζει άμεσα ένα βρόχο for ή while Η εκτέλεση του κώδικα συνεχίζεται μετά και έξω από τον αντίστοιχο βρόχο. Η εντολή break ορίζεται μόνο μέσα σε βρόχους for και while. Βρόχοι 49

50 Διακοπή εκτέλεσης βρόχου Example: A = 6 B = 15 count = 1 Βρόχοι 50 while A > 0 & B < 10 A = A + 1 B = B + 2 count = count + 1 if count > 100 break end

51 Συναρτήσεις Αποτελούν δομικά στοιχεία ενός προγράμματος Επιτρέπουν τη γενίκευση και επαναχρησιμοποίηση του κώδικα Δέχονται ένα σύνολο δεδομένων, εκτελούν ένα σύνολο εντολών και αποδίδουν μια έξοδο (αποτέλεσμα) 51

52 Συναρτήσεις στο Matlab Στο Matlab, κάθε συνάρτηση είναι ένα.m file – μια καλή τακτική είναι το όνομα του αρχείου να ταυτίζεται με το όνομα της συνάρτησης. function outargs = funcname(inargs); Function output input 52

53 Παράδειγμα Υπολογισμός του κύβου ενός αριθμού -> (x 3 ) Γράψτε τον παρακάτω κώδικα σε ένα.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 =

54 Προσθήκη βοήθειας Προσθέστε ένα σχόλιο μεταξύ του ορισμού της συνάρτησης και της πρώτης γραμμής κώδικα. γράψτε 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 54

55 Αρχεία Συναρτήσεων Αρχεία συναρτήσεων (function m-files) έχουν μια γραμμή ορισμού συνάρτησης, δέχονται ορίσματα εισόδου και επιστρέφουν μεταβλητές εξόδου, και των οποίων οι εσωτερικές μεταβλητές είναι τοπικές. Τα αρχεία συναρτήσεων (function m-files) περιέχουν εντολές του MATLAB με μεταβλητές εισόδου, input1, input2, …. με την οποία υπολογίζονται νέες μεταβλητές εξόδου output1, output2, ….. 55

56 Η Δομή των Αρχείων Συναρτήσεων Είναι η εξής: Επικεφαλίδα (header) function [output1, output2, ….] = filename (input1, input2, ….) To filename είναι το όνομα της συνάρτησης (function), η οποία αποθηκεύεται στο m-file με όνομα filename.m. 56

57 Η Δομή των Αρχείων Συναρτήσεων Είναι η εξής: Σχόλια (comments) Ξεκινούν με το σύμβολο % και είναι προαιρετικά. Εντολές (statements) Εντολές της MATLAB με τις οποίες υπολογίζονται οι μεταβλητές εξόδου output1 = ……. output2 = ……. 57

58 Η Δομή των Αρχείων Συναρτήσεων Είναι η εξής: Υποσυναρτήσεις (subfunctions) Είναι εσωτερικές συναρτήσεις functions που περιέχονται στο αρχείο filename.m. Ορίζονται με τον ίδιο ακριβώς τρόπο, π.χ. function [out1, out2,] = subfname (x, y, z) 58

59 Η Δομή των Αρχείων Συναρτήσεων με Υποσυνάρτηση 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; 59

60 Γενικά: Μια συνάρτηση μπορεί να δεχθεί οποιοδήποτε αριθμό δεδομένων και να αποδώσει οποιοδήποτε αριθμό αποτελεσμάτων. Για παράδειγμα, η συνάρτηση 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 Η Δομή των Αρχείων Συναρτήσεων 60

61 nargin Το Matlab δέχεται την κλήση μιας συνάρτησης με οποιοδήποτε αριθμό εισόδων και εξόδων Η συνάρτηση nargin μπορεί να χρησιμοποιηθεί για τον προσδιορισμό των εισόδων που έχει παράσχει ο χρήστης. function [y1, y2] = cube(x1, x2) if nargin == 1 y1 = x1*x1*x1; y2 = nan; elseif nargin == 2 y1 = x1*x1*x1; y2 = x2*x2*x2; end >> cube(2,3) Ans = 4 >> [a b] = cube(2,3) a = 8 b = 27 61

62 return Η συνάρτηση return τερματίζει τους υπολογισμούς και επιστρέφει τα αποτελέσματα που έχουν υπολογισθεί. function [y1, y2] = cube(x1, x2) if nargin == 1 y1 = x1*x1*x1; y2 = nan; return end y1 = x1*x1*x1; y2 = x2*x2*x2; return end >> cube(2,3) Ans = 4 >> [a b] = cube(2,3) a = 8 b = 27 62

63 Υπολογισμός του Κύβου οσωνδήποτε Αριθμών Μπορεί να επιτευχθεί με τη χρήση διανυσμάτων function [y] = cube(x) y = x.^3; >> cube(2) Ans = 8 >> cube([2 3]) Ans = [8 27] Ο τελεστής.^ σημαίνει ύψωση του καθενός από τα στοιχεία του διανύσματος x στην τρίτη δύναμη 63


Κατέβασμα ppt "Προγραμματισμός στο ΜatLab ΝΙΚ. Α. ΤΣΟΛΙΓΚΑΣ ΧΡΗΣΤΟΣ ΜΑΝΑΣΗΣ 1."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google