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

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

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

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


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

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

2 Τι είναι Αλγόριθμος ? Απλή Διατύπωση: ακριβής περιγραφή βημάτων που απαιτούνται για να επιτευχθεί μία εργασία (π.χ. είναι η συνταγή μαγειρικής αλγόριθμος;) Πιο Αυστηρή Διατύπωση: Διατεταγμένο σύνολο σαφών (≠ νόηση) και εκτελέσιμων βημάτων που ορίζουν μία διαδικασία με τέλος

3 Λογικά Διαγράμματα W = W+1 Διεργασία / Εντολή W =5; disp W Είσοδος
input W print (*,*) W Είσοδος Έξοδος ΝΑΙ Απόφαση If w=5 then …. ΟΧΙ start Program function end Αρχή / Τέλος

4 Λογικά Διαγράμματα σύνδεση If i<3 then GOTO line 3 Ροή Goto line 3

5 Παράδειγμα: Βρείτε τη θέση του πίνακα Α που εμφανίζεται η τιμή x
Αρχή Διάβασε Α,x i=1 Ναι A(i)=x Εκτύπωσε i Όχι i=i+1 Τέλος Ναι i>numel(A) Εκτύπωσε 0 Όχι

6 Ορισμός Συνάρτησης

7 Υλοποίηση function k = vres(A,x) N = numel(A); k=0; for i=1:N;
if A(i)==x k=i; return end

8 Recursion - Αναδρομή Fibonnaci function y=fib1(n) x(1)=0; x(2)=1;
for i=3:n x(i)=x(i-1)+x(i-2); end y=x(n) function y=fib2(n) if n==0 |n==1 y=n else y=fib2(n-1)+fib2(n-2) end

9 T(n) ≈ 2n

10 Έβρεση Στοιχείου x σε Ταξινομημένο Πίνακα Α
Αν είναι μεγαλύτερο επανέλαβε την διαδικασία για το κάτω μισό του πίνακα Αν είναι μικρότερο επανέλαβε την διαδικασία για το πάνω μισό του πίνακα.

11 Υλοποίηση function k = vres2(A,x) k=0; i_max = numel(A); i_min = 1; while i_max>=i_min i_mid = floor((i_min+i_max)/2); if A(i_mid)==x k=i_mid; return elseif A(i_mid)<x i_min = i_mid+1; else i_max = i_mid-1; end

12 Ταξινόμηση Διανύσματος
Βρες το μικρότερο στοιχείο του πίνακα και φερτο βαλ’ το στη 1η θέση Βρες το μικρότερο από τα υπόλοιπα στοιχειά του πίνακα και βαλ’ το στη 2η θέση κοκ (Selection Sort)

13 Υλοποίηση function A = Selection_sort(A) N = numel(A); for i=1:N-1 i_min=i; for j=i:N; if a(j)<a(i_min) i_min=j; end A = swap(A,i,i_min); function A = swap(A,i,j) k = A(i); A(i)=A(j); A(j)=k;

14 Επίλυση αλγεβρικών εξισώσεων στο MATLAB
Να επιλυθεί η εξίσωση exp(x)-cos(x)-1=0 Στο x=[0,1]

15 Plotting plot(0:0.001:1,exp(0:0.001:1)-cos(0:0.001:1)-1,'b+')

16 f=@(x) exp(x)-cos(x)-1;
Ορισμός inline συναρτήσεων exp(x)-cos(x)-1;

17 Μέθοδος της διχοτόμησης (bisection method)

18 Μέθοδος της διχοτόμησης (bisection method)
a=lower bound c=upper bound b=(a+c)/2 f(a)*f(b)<0 ? NO YES a=b c=b |a-c|<e ? NO YES print b

19 Μέθοδος της διχοτόμησης (bisection method)
a=lower bound c=upper bound b=(a+c)/2 f(a)*f(b)<0 ? c=b a=b |a-c|<e ? print b YES NO

20 Μέθοδος της διχοτόμησης (bisection method)
a=lower bound c=upper bound b=(a+c)/2 f(a)*f(b)<0 ? c=b a=b |a-c|<e ? print b YES NO

21 Μέθοδος της διχοτόμησης (bisection method)
a=lower bound c=upper bound b=(a+c)/2 f(a)*f(b)<0 ? c=b a=b |a-c|<e ? print b YES NO

22 Η συνάρτηση fsolve

23 F(x) = exp(x) – x^2 - (τα 2 τελευταία ψηφια του ΑΜ σας)
Προαιρετικό θέμα F(x) = exp(x) – x^2 - (τα 2 τελευταία ψηφια του ΑΜ σας) Να βρείτε την λύση της ανωτέρω εξίσωσης GROUP I 30/01/2014 (11.59μμ) GROUP II 27/01/2014 (11.59μμ) Oι απαντήσεις (τα m files) να στέλνονται σε κείμενο και ΟΧΙ σαν συνημμένο αρχείο Oι απαντήσεις να έχουν τίτλο με latinikous charaktires: ASKHSH03-GROUP1-ΤΟΕΠΟΝΥΜΟΜΟΥ-021????? ASKHSH03-GROUP2-ΤΟΕΠΟΝΥΜΟΜΟΥ-021?????


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

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


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