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

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ URL:

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


Παρουσίαση με θέμα: "Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ URL:"— Μεταγράφημα παρουσίασης:

1 Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ URL: 2 ο Μάθημα 1 Εισαγωγή στον επιστημονικό προγραμματισμό Μελάς Ιωάννης Υποψήφιος Διδάκτορας ΕΜΠ

2 Πίνακες 2 vector >> x = [ ] Matrix >> x = [ ; ; ] >> x(1) =? >> x(2) =? >> x = [1:4 ; 5:8; 9:12] Σε τι διαφέρει από x = [1:4, 5:8, 9:12] ? >> x = [1:0.1:2] >> x = [2:-0.1:1]

3 Indexing 3 >> x = [1:4 ; 5:8; 9:12] >> x(1,2) = ? >> x(1,5) = ? >> x(1,1:2) =? >> x(1,:) =?

4 Η αριθμητική στο Matlab + Πρόσθεση - Αφαίρεση * Πολ/σμός / Διαίρεση ^ Υψωση σε δύναμη Βασικοί τελεστέςΜαθηματικές συναρτήσεις sin(x) cos(x) tan(x) log(x) exp(x) Ημίτονο Συνημίτονο Εφαπτομένη Φυσικός λογάριθμος = e^(x)

5 Η αριθμητική στο Matlab Μαθηματικές συναρτήσεις

6 Η αριθμητική στο Matlab Αριθμητική σε πίνακες Τα πάντα στο Matlab Είναι πίνακες

7 Η αριθμητική στο Matlab + Πρόσθεση - Αφαίρεση * Πολ/σμός / Διαίρεση ^ Υψωση σε δύναμη Βασικοί τελεστέςΜαθηματικές συναρτήσεις sin(x) cos(x) tan(x) log(x) exp(x) Ημίτονο Συνημίτονο Εφαπτομένη Φυσικός λογάριθμος = e^(x)

8 Η αριθμητική στο Matlab a=[ 135] b=[024] a+b= [ ] a+b a*b a+b= [ ] a-b

9 Η αριθμητική στο Matlab a=[ 135] b=[024] a+b= [ ] a+b a*b a+b= [ ] a-b

10 Η αριθμητική στο Matlab a*b a*b= [1*0 + 3*2 + 5*4] Δείτε : index->mtimes a=[ 135] b=[0 2 4]

11 Η αριθμητική στο Matlab a=[ ] b=[ ] a*b a*b= [a(1,1)*b(1,1)+a(1,2)*b(2,1)+a(1,3)*b(3,1)… ……… ………] Δείτε : index->mtimes

12 Η αριθμητική στο Matlab a=[ ] b=[ ] a/b a/b= a*inv(b), inv(b)=inverse του b Δείτε : Function Browser->Mathematics->Linear algebra->Linear equations ->inv Inverse (αντιστροφος) ενος πίνακα b, ορίζεται πίνακας τέτοιος ώστε b*inv(b)=I => inv(I)=I

13 Η αριθμητική στο Matlab

14 + Πρόσθεση - Αφαίρεση * Πολ/σμός / Διαίρεση ^ Υψωση σε δύναμη Βασικοί τελεστές.*element-by-element multiplication./element-by-element division.^element-by-element power

15 Η αριθμητική στο Matlab a=[ ] b=[ ] a.*b a*b= [1*03*25*4 ……… ……3*5]

16 Η αριθμητική στο Matlab Λοιπές χρήσιμες συναρτήσεις Στρογγυλοποίηση round(x) floor(x)=int32(x) ceil(x)=int32(x)+1 Γεννήτρια τυχαίων αριθμών rand(n) Άθροιση στοιχείων πίνακα sum(x) Μέτρηση πλήθους στοιχείων πίνακα numel(x) size(x,n) length(x) Στρογγυλοποίηση round(x) floor(x)=int32(x) ceil(x)=int32(x)+1 Γεννήτρια τυχαίων αριθμών rand(n) Άθροιση στοιχείων πίνακα sum(x) Μέτρηση πλήθους στοιχείων πίνακα numel(x) size(x,n) length(x) Αρχικοποίηση πίνακα x=zeros(n,m) x=ones(n,m) x=eye(n) x=[];

17 Λογικοί τελεστές Αριθμητικοί τελεστέςλογικοί τελεστές VS == Equal to ~= Not equal to < Strictly smaller > Strictly greater <= Smaller than or equal to >= Greater than equal to +addition -subtraction *multiplication /division ^power & And operator | Or operator

18 m-files

19 Τα m-files είναι text files που περιέχουν λίστες εντολών οι οποίες εκτελούνται διαδοχικά, σαν να εισάγονταν στο command window.

20 Ελεγχος ροής προγράμματος Η εντολή if if (Condition_1) Matlab Commands elseif (Condition_2) Matlab Commands elseif (Condition_3) Matlab Commands else Matlab Commands end

21 Ελεγχος ροής προγράμματος Η εντολή for for i=a:b Matlab Commands end

22 Ελεγχος ροής προγράμματος Η εντολή while while (condition) Matlab Commands end

23 Ελεγχος ροής προγράμματος Η εντολή break while (condition) Matlab Commands break end

24 Παραδείγματα Υπολογισμός αθροίσματος Στοιχείων πίνακα a=rand(5); suma=0; for i=1:5 for j=1:5 suma=suma+a(i,j); end a=rand(5); suma=0; for i=1:5 for j=1:5 suma=suma+a(i,j); end

25 Παραδείγματα Υπολογισμός αθροίσματος Στοιχείων πίνακα Ο εύκολος τρόπος: sum(sum(a)) a=rand(5); suma=0; for i=1:5 for j=1:5 suma=suma+a(i,j); end a=rand(5); suma=0; for i=1:5 for j=1:5 suma=suma+a(i,j); end

26 Παραδείγματα Εύρεση min πίνακα a=rand(5); minn=1.0; for i=1:5 for j=1:5 if (a(i,j)<=minn) minn=a(i,j); iminn=i; jminn=j; end a=rand(5); minn=1.0; for i=1:5 for j=1:5 if (a(i,j)<=minn) minn=a(i,j); iminn=i; jminn=j; end Εύρεση max πίνακα a=rand(5); maxn=0.0; for i=1:5 for j=1:5 if (a(i,j)>=maxn) maxn=a(i,j); imaxn=i; jmaxn=j; end a=rand(5); maxn=0.0; for i=1:5 for j=1:5 if (a(i,j)>=maxn) maxn=a(i,j); imaxn=i; jmaxn=j; end

27 Παραδείγματα Εύρεση min πίνακαΕύρεση max πίνακα a=rand(5); minn=1.0; for i=1:5 for j=1:5 if (a(i,j)<=minn) minn=a(i,j); iminn=i; jminn=j; end a=rand(5); minn=1.0; for i=1:5 for j=1:5 if (a(i,j)<=minn) minn=a(i,j); iminn=i; jminn=j; end a=rand(5); maxn=0.0; for i=1:5 for j=1:5 if (a(i,j)>=maxn) maxn=a(i,j); imaxn=i; jmaxn=j; end a=rand(5); maxn=0.0; for i=1:5 for j=1:5 if (a(i,j)>=maxn) maxn=a(i,j); imaxn=i; jmaxn=j; end Ο εύκολος τρόπος: min(min(a)) max(max(a))

28 Ελεγχος ροής προγράμματος Logic indexing >> a=rand(1,10) a = >> a(a<0.5) ans =

29 Υπολογισμος ακολουθίας Fibonacci In the Fibonacci sequence of numbers, each number is the sum of the previous two numbers, starting with 0 and 1 (source: wikipedia) clear all close all Clc x(1)=0; x(2)=1; for i=3:15 x(i)=x(i-1)+x(i-2); End plot(1:15,x(1:15)); for i=2:15 r(i)=x(i)/x(i-1); End plot(2:15,r(2:15),'r');

30 Υπολογισμος ακολουθίας Fibonacci In the Fibonacci sequence of numbers, each number is the sum of the previous two numbers, starting with 0 and 1 (source: wikipedia) clear all close all Clc x(1)=0; x(2)=1; for i=3:15 x(i)=x(i-1)+x(i-2); End plot(1:15,x(1:15)); for i=2:15 r(i)=x(i)/x(i-1); End plot(2:15,r(2:15),'r');

31 Διαίρεση ακεραίων mod(x,y) Η συνάρτηση mod(x,y) επιστρέφει το ακεραιο υπολοιπο της διαίρεσης του x με το y Πχ. mod(4,2)=0 Προαιρετικό θέμα

32 Να υπολογισθούν οι πρώτοι αριθμοί μικρότεροι του 5000 GROUP II20/1/2014 (11.59μμ) GROUP I24/1/2014(11.59μμ)  Oι απαντήσεις (τα m files) να στέλνονται σε κείμενο και ΟΧΙ σαν συνημμένο αρχείο  Oι απαντήσεις να έχουν τίτλο με latinikous charaktires: ASΚ01-GP1-ΤΟΕΠΟΝΥΜΟΜΟΥ-ΟΝ


Κατέβασμα ppt "Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ URL:"

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


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