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

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

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


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

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

2 Πίνακες vector >> x = [1 2 3 4.5] Matrix

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

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 a+b a-b a*b Η αριθμητική στο Matlab a=[ 1 3 5] b=[ 0 2 4]

9 a+b a-b a*b Η αριθμητική στο Matlab a=[ 1 3 5] b=[ 0 2 4]

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

11 a*b Η αριθμητική στο Matlab a=[ 1 3 5 4 2 1 1 0 3] b=[ 0 2 4 2 1 3
] 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 a/b = a*inv(b), inv(b)=inverse του b
Η αριθμητική στο Matlab a=[ ] b=[ ] a/b a/b = a*inv(b), inv(b)=inverse του b Inverse (αντιστροφος) ενος πίνακα b, ορίζεται πίνακας τέτοιος ώστε b*inv(b)=I => inv(I)=I Δείτε : Function Browser->Mathematics->Linear algebra->Linear equations ->inv

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

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

15 a.*b Η αριθμητική στο Matlab a=[ 1 3 5 4 2 1 1 0 3] b=[ 0 2 4 2 1 3
] b=[ ] a.*b a*b= [ 1*0 3*2 5*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) Αρχικοποίηση πίνακα x=zeros(n,m) x=ones(n,m) x=eye(n) x=[];

17 VS == Equal to ~= Not equal to < Strictly smaller
Λογικοί τελεστές 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 σαν να εισάγονταν στο command window.
m-files Τα m-files είναι text files που περιέχουν λίστες εντολών οι οποίες εκτελούνται διαδοχικά, σαν να εισάγονταν στο command window.

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

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

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

23 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

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

26 Παραδείγματα Εύρεση 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); 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); 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); 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); plot(2:15,r(2:15),'r');

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

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


Κατέβασμα ppt "Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές"

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


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