1 / 32

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

Εισ α γωγή στους Ηλεκτρονικούς Υπολογιστές. Εισαγωγή στον επιστημονικό προγραμματισμό. 2 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ E-mail: leo@mail.ntua.gr URL: http://users.ntua.gr/leo. Μελάς Ιωάννης Υποψήφιος Διδάκτορας ΕΜΠ E-mail: melas@central .ntua.gr. Πίνακες. vector

deacon
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ΕισαγωγήστουςΗλεκτρονικούςΥπολογιστέςΕισαγωγήστουςΗλεκτρονικούςΥπολογιστές Εισαγωγή στον επιστημονικό προγραμματισμό 2ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ E-mail: leo@mail.ntua.gr URL: http://users.ntua.gr/leo Μελάς Ιωάννης Υποψήφιος Διδάκτορας ΕΜΠ E-mail: melas@central.ntua.gr

  2. Πίνακες vector >> x = [1 2 3 4.5] Matrix >> x = [1 2 3 4; 5 6 7 8; 9 10 11 12] >> 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 >> 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=[ 1 3 5] a+b b=[ 0 2 4] a+b= [ 1+0 3+2 5+4] a-b a+b= [ 1-0 3-2 5-4] a*b

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

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

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

  25. Παραδείγματα Υπολογισμός αθροίσματος Στοιχείων πίνακα a=rand(5); suma=0; for i=1:5 for j=1:5 suma=suma+a(i,j); end 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 end 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 end 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 end 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 end end Ο εύκολος τρόπος: min(min(a)) max(max(a))

  28. Ελεγχος ροής προγράμματος Logic indexing >> a=rand(1,10) a = 0.1576 0.9706 0.9572 0.4854 0.8003 0.1419 0.4218 0.9157 0.7922 0.9595 >> a(a<0.5) ans = 0.1576 0.4854 0.1419 0.4218

  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 II 20/1/2014 (11.59μμ) GROUP I 24/1/2014(11.59μμ) • Oι απαντήσεις (τα m files) να στέλνονται σε κείμενο e-mailκαι ΟΧΙ σαν συνημμένο αρχείο • Oι απαντήσεις να έχουν τίτλο με latinikouscharaktires: • ASΚ01-GP1-ΤΟΕΠΟΝΥΜΟΜΟΥ-ΟΝ-02100000-06.01.2014 • ASΚ01-GP1-ΤΟΕΠΟΝΥΜΟΜΟΥ-ΟΝ-02100000-06.01.2014

More Related