Πληροφορική. Ενότητα 6: Α. Αριθμητικές μέθοδοι επίλυσης προβλημάτων. Β. Προεκτάσεις, Προγραμματισμός χωρίς δομές

Σχετικά έγγραφα
Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες.

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Γενικά Μαθηματικά Ι. Ενότητα 17: Αριθμητική Ολοκλήρωση, Υπολογισμός Μήκους Καμπύλης Λουκάς Βλάχος Τμήμα Φυσικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ. Λογισμός 4. Ενότητα 5: Το Θεώρημα του Fubini. Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών

Γενικά Μαθηματικά Ι. Ενότητα 14: Ολοκλήρωση Κατά Παράγοντες, Ολοκλήρωση Ρητών Συναρτήσεων Λουκάς Βλάχος Τμήμα Φυσικής

Μηχανολογικό Σχέδιο Ι

Ιστορία της μετάφρασης

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Εκκλησιαστικό Δίκαιο

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Εισαγωγή στους Αλγορίθμους

Εκκλησιαστικό Δίκαιο

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Γενικά Μαθηματικά Ι. Ενότητα 13: Ακτίνα Σύγκλισης, Αριθμητική Ολοκλήρωση, Ολοκλήρωση Κατά Παράγοντες. Λουκάς Βλάχος Τμήμα Φυσικής

Λογισμός 4 Ενότητα 10

Πληροφορική. Ενότητα 5: Α. Λογικές εκφράσεις και δείκτες (Β μέρος- Διαχείριση πινάκων). Β. Αριθμητικές μέθοδοι επίλυσης προβλημάτων

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Γενικά Μαθηματικά Ι. Ενότητα 7: Σειρές Taylor, Maclaurin. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εισαγωγή στους Αλγορίθμους

Οικονομία των ΜΜΕ. Ενότητα 7: Μορφές αγοράς και συγκέντρωση των ΜΜΕ

Βέλτιστος Έλεγχος Συστημάτων

Διπλωματική Ιστορία Ενότητα 2η:

Λογισμός 4 Ενότητα 12

Παράκτια Τεχνικά Έργα

ΑΡΙΣΤΟΤΕΛΕΙΟ ΑΝΟΙΚΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΚΑΔΗΜΑΪΚΑ ΘΕΣΣΑΛΟΝΙΚΗΣ ΜΑΘΗΜΑΤΑ Γενικά Μαθηματικά Ι Ενότητα 11 : Ακολουθίες και Σειρές Λουκάς Βλάχος Τμήμα Φυσικής

Γενικά Μαθηματικά Ι. Ενότητα 5: Παράγωγος Πεπλεγμένης Συνάρτησης, Κατασκευή Διαφορικής Εξίσωσης. Λουκάς Βλάχος Τμήμα Φυσικής

Γενικά Μαθηματικά Ι. Ενότητα 16: Ολοκλήρωση Τριγωνομετρικών Συναρτήσεων, Γενικευμένα Ολοκληρώματα Λουκάς Βλάχος Τμήμα Φυσικής

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Ιστορία της μετάφρασης

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ. Λογισμός 4. Ενότητα 2: Ορισμός του ολοκληρώματος. Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Γενικά Μαθηματικά Ι. Ενότητα 9: Κίνηση Σε Πολικές Συντεταγμένες. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ. Λογισμός 4. Ενότητα 1: Εισαγωγή. Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Προγραμματισμός Η/Υ. 8 η ενότητα: Περιβαλλοντικά και μαθηματικά προβλήματα. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Οικονομία των ΜΜΕ. Ενότητα 9: Εταιρική διασπορά και στρατηγικές τιμολόγησης

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Πληροφορική. Ενότητα 4: Α. Λογικές εκφράσεις (Παραστάσεις και Δείκτες). Β. Δομές Προγραμματισμού. Κωνσταντίνος Καρατζάς Τμήμα Μηχανολόγων Μηχανικών

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Λογισμός 4 Ενότητα 17

ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ. Γενικά Μαθηματικά Ι. Ενότητα 6: Ακρότατα Συνάρτησης. Λουκάς Βλάχος Τμήμα Φυσικής

Γεωργική Εκπαίδευση Ενότητα 9

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Εκκλησιαστικό Δίκαιο

Γενικά Μαθηματικά Ι. Ενότητα 1: Συναρτήσεις και Γραφικές Παραστάσεις. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Γενικά Μαθηματικά Ι. Ενότητα 19: Υπολογισμός Εμβαδού και Όγκου Από Περιστροφή (2 ο Μέρος) Λουκάς Βλάχος Τμήμα Φυσικής

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Αξιολόγηση μεταφράσεων ιταλικής ελληνικής γλώσσας

Χώρος και Διαδικασίες Αγωγής

Εισαγωγή στους Αλγορίθμους

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

Εργαστήριο Χημείας Ενώσεων Συναρμογής

ΦΥΣΙΚΗ. Ενότητα 1: Εισαγωγή στη Φυσική-Ακρίβεια & Σημαντικά Ψηφία- Βαθμωτά Μεγέθη-Διανυσματικά Μεγέθη

Λογισμός 3. Ενότητα 18: Θεώρημα Πεπλεγμένων (Ειδική περίπτωση) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Επιμέλεια μεταφράσεων και εκδοτικός χώρος

Κβαντική Επεξεργασία Πληροφορίας

Λογισμός 4 Ενότητα 16

Δομές Δεδομένων Ενότητα 1

Διοικητική Λογιστική

Συμπεριφορά Καταναλωτή

Υπόγεια Υδραυλική και Υδρολογία

Στρατηγικό Μάρκετινγκ

Γενικά Μαθηματικά Ι. Ενότητα 8: Εφαρμογές Σειρών Taylor. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις

Μηχανολογικό Σχέδιο Ι

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Οδοποιία IΙ. Ενότητα 14: Υπόδειγμα σύνταξης τευχών θέματος Οδοποιίας. Γεώργιος Μίντσης ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Διδακτική της Περιβαλλοντικής Εκπαίδευσης

Φ 619 Προβλήματα Βιοηθικής

ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ. Λογισμός 4. Ενότητα 3: Το Θεώρημα του Lebesgue. Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών

Μηχανολογικό Σχέδιο Ι

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Διπλωματική Ιστορία. Ενότητα 12η: Ο Β Παγκόσμιος Πόλεμος Η Ευρώπη. του Hitler Ιωάννης Στεφανίδης, Καθηγητής Τμήμα Νομικής Α.Π.Θ.

Λογισμός 4. Ενότητα 9: Παραδείγματα από άλλες αλλαγές. Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Λογισμός 4 Ενότητα 13

ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ. Λογισμός 4. Ενότητα 6: Εφαρμογές του Fubini. Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών

Επικοινωνία Ανθρώπου- Υπολογιστή Σχεδίαση Αλληλεπίδρασης

Εκκλησιαστικό Δίκαιο

Ηλεκτρονικοί Υπολογιστές

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Διοίκηση Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Ενότητα 6: Ακρότατα συναρτησιακών διανυσματικών συναρτήσεων. Νίκος Καραμπετάκης Τμήμα Μαθηματικών

Μηχανολογικό Σχέδιο Ι

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Πληροφορική Ενότητα 6: Α. Αριθμητικές μέθοδοι επίλυσης προβλημάτων. Β. Προεκτάσεις, Προγραμματισμός χωρίς δομές Κωνσταντίνος Καρατζάς Τμήμα Μηχανολόγων Μηχανικών

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πληροφορική Τμήμα Μηχανολόγων Μηχανικών 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πληροφορική Τμήμα Μηχανολόγων Μηχανικών 3

Δ.#9: ΠΛΗΡΟΦΟΡΙΚΗ ΑΡΙΘΜΗΤΙΚΕς ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ 24.03.2015 Κωνσταντίνος Καρατζάς Τμήμα Μηχανολόγων Μηχανικών ΑΠΘ

Άσκηση εργαστηρίου

Ας το δούμε σαν συνάρτηση Θέλω Άκρα διαστήματος : a, b Ανοχή υπολογισμού : 1e-06 Σφάλμα : abs(a-b)

function [ riza ] = fbisect( f,a,b,tol ) % while abs(f(a)-f(b))>tol this can be non-monotonic while abs(a-b)>tol riza=(a+b)/2; end end if f(riza)==0 break % and buy yourself a lottery ticket!!!! elseif f(a)*f(riza)<0 b=riza; else a=riza; end

10 y=x+cos(x) 5 0-5 >> fbisect(@myfunc, -10,10,0) -10 ans = -0.7391-15 -10-8 -6-4 -2 0 2 4 6 8 10

15 x 104 y = x.^5 + 5*x.^4-3*x.^3 + 2*x.^2 + x - 4 10 5 0 >> fbisect(@myfuncpoly, -10,10,0) ans = 0.8862-5 -10-8 -6-4 -2 0 2 4 6 8 10

Break: τι αφορά & πως λειτουργεί Αφορά δομές επανάληψης Μεταφέρει τη συνέχεια της εκτέλεσης του προγράμματος στην 1η γραμμή εντολών μετά τη δομή

Ο Μ Α Δ Α Ε Φ Α Ρ Μ Ο Γ Ω Ν Σ Υ Σ Τ Η Μ Α Τ Ω Ν Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ( I S A G ) Δ.#10 ΠΛΗΡΟΦΟΡΙΚΗ: ΠΡΟΕΚΤΑΣΕΙΣ, ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΧΩΡΙΣ ΔΟΜΕΣ 31.03.2015 Κώστας Καρατζάς Τμήμα Μηχανολόγων Μηχανικών, ΑΠΘ

Τι θα δούμε εδώ? Αλγόριθμοι με δομές Υλοποίηση Με Άνευ!

«Συμβατικός» προγραμματισμός.. Έστω ότι θέλω να να υπολογίσω το άθροισμα των αριθμών 1, 2, 3,, n Αρχικοποιώ τη μεταβλητή του αθροίσματος Ξεκινώ να προσθέτω τους αριθμούς της λίστας Σε κάθε αποτέλεσμα προσθέτω τον επόμενο αριθμό Τελειώνω όταν φτάσω στο πέρας της λίστας

«Συμβατικός» προγραμματισμός.. Έστω ότι θέλω να να υπολογίσω το άθροισμα των αριθμών 1, 2, 3,, n athrisma=0 for i=1:n athrisma=athrisma+i end

Διανυσματικός.. Reloaded! Έχουμε ήδη δει πως το Matlab παρέχει δυνατότητες που δεν θα είχαμε σε άλλες γλώσσες προγραμματισμού, π.χ. αν θέλω να υπολογίσω το άθροισμα των αριθμών 1, 2, 3,, n θα έχουμε: athrisma=0 for i=1:n athrisma=athrisma+i sum(1:n) end Για x=[1 2 3 4 5] -> sum(x)

Διανυσματικός.. Reloaded! Και εάν θέλω να υπολογίσω το άθροισμα των αριθμών 1 2 +2 2 +, n θα έχουμε: athrisma=0 for i=1:n athrisma=athrisma+i^2 End sum(x.^2) Όπου x το διάνυσμα των n τιμών

Παράδειγμα: αριθμός ISBN Ο αριθμός ISBN είναι 13ψήφιος αριθμός. ISBN: 978-960-6706-12-7 Δεν είναι τυχαίος. Περιέχει στοιχεία για τον εκδότη, τη χώρα έκδοσης, κ.λπ.. Το τελευταίο ψηφίο (m1) χαρακτηρίζεται ψηφίο ελέγχου και προκύπτει από τα προηγούμενα 12

Υπολογίζοντας Το άθροισμα s μπορούμε να το υπολογίσουμε με διάφορους τρόπους: x=[9 7 8 9 6 0 6 7 0 6 1 2]; Το πρώτο πράγμα που σας έρχονταν στο μυαλό: s=x(1)+3*x(2)+x(3)+3*x(4)+x(5)+3*x(6)+ x(7)+3*x(8)+x(9)+3*x(10)+x(11)+3*x(12)

Υπολογίζοντας Δουλεύει; Ναι! Είναι το καλύτερο; Όχι! Γιατί; Γιατί γράψαμε περισσότερα; Εν μέρει, Ποιος άλλος μπορεί να είναι ο λόγος; Παρακολουθείτε Πληροφορική και δεν επιλέγετε μία λύση που θα μπορούσατε να δώσετε από το λύκειο

Υπολογίζοντας: πως αλλιώς; Περιττοί έχουν συντελεστή 1 και άρτιοι 3 Πώς το κάνω αυτό; Διανυσματικά, με το κατάλληλο σημείο έναρξης και βήμα : άθροισμα όλων των περιττών και τριπλασιασμός αθροίσματος άρτιων s = sum(x(1:2:12)) + 3*sum(x(2:2:12))

Επαλήθευση ISBN function [ correct ] = isbn_vec( x ) correct = false; end

Επαλήθευση ISBN function [ correct ] = isbn_vec( x ) correct = false; (Μονά) Χ (ένα) + (ζυγά) Χ (3) end

Επαλήθευση ISBN function [ correct ] = isbn_vec( x ) correct = false; s=sum(x(1:2:12)+3.*x(2:2:12)); end

Επαλήθευση ISBN function [ correct ] = isbn_vec( x ) correct = false; s=sum(x(1:2:12)+3.*x(2:2:12)); Έλεγχος υπόλοιπου διαίρεσης end

Επαλήθευση ISBN function [ correct ] = isbn_vec( x ) correct = false; s=sum(x(1:2:12)+3.*x(2:2:12)); if x(13)==10-mod(s,10); end correct=true;

Επαλήθευση ISBN function [ correct ] = isbn_vec( x ) correct = false; Άλλος τρόπος? end

Επαλήθευση ISBN function [ correct ] = isbn_vec( x ) correct = false; if x(13)==10-mod(άθροισμα),10); correct=true; end end

Επαλήθευση ISBN function [ correct ] = isbn_vec( x ) correct = false; if x(13)==10-mod(sum(x(1:2:12)+3.*x(2:2:12)),10); correct=true; end end

2ο παράδειγμα: κανόνας τραπεζίου Συνάρτηση: X=[1:0.1:100]

Κανόνας τραπεζίου: εύρεση ολοκληρώματος Η περιοχή κάτω από την καμπύλη είναι ένα τραπεζοειδές. y b a ( f 1 x )dx f(x) Το ολοκλήρωμα f(b) b f ( x ) dx Επιφάνεια τραπεζοειδούς a 1 ( ά. ώ )( ύ) 2 2 1 f ( b ) f ( a ) ( b a ) f(a) f1(x) ( b a ) f ( a ) 2 f ( b ) a b Γεωμετρική αναπαράσταση

Κανόνας τραπεζίου Χωρίζουμε σε n ίσα τμήματα.τό ύψος κάθε τμήματος είναι: y b a ( f 1 x )dx f(x) h b n a Το ολοκλήρωμα είναι: f 1 (x) I b a f ( x )dx Πολλαπλά(n=4) a τμήματα (παράδειγμα) Γεωμετρική αναπαράσταση b x

Κανόνας τραπεζίου b )h n ( a )h n ( a )h n ( a h a h a h a a x )dx ( f x )dx ( f... x )dx ( f x )dx ( f 1 1 2 2 Το ολοκλήρωμα I μπορεί να διαιρεθεί σε h ολοκληρώματα: b a x )dx ( f Εφαρμόζοντας τον κανόνα του τραπεζίου σε κάθε τμήμα λαμβάνουμε: b a x )dx ( f ( b ) f ih ) ( a f ( a ) f n a b n i 1 1 2 2 n a b h ) ( ) ( 2 ) ( 2 1 1 b f x f a f n a b n i i ih a xi

Πολλαπλόςκανόνας τραπεζίου

Παράδειγμα: κανόνας τραπεζίου Συνάρτηση: ) ( ) ( 2 ) ( 2 ) ( 1 1 b f x f a f n a b dx x f n i i b a

Κανόνας τραπεζίου: υπολογισμός a=0 b=pi Χωρίζω το [a,b] σε n=100 ίσα μέρη x=linspace(a,b,n) Ορίζω συνάρτηση fx=sin(x.^3-2*x.^2+x)

1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 0 0.5 1 1.5 2 2.5 3 3.5

Μέθοδος τραπεζίου Πώς προχωρώ? Θέλω ένα διάνυσμα με n άσσους c=ones(1,n); Τα στοιχεία από τη θέση 2 έως και την n-1 ίσα με 2 c(2:n-1)=2; I=(b-a)/(2*n) * sum(c.*fx) ans=0.4985 ) ( ) ( 2 ) ( 2 ) ( 1 1 b f x f a f n a b dx x f n i i b a

Και τι λέει το Matlab? quad('sin(x.^3-2*x.^2+x)',0,pi) ans = 0.5040 Διαφορά: 0.0055 (n=100) Διαφορά: 0.000055 (n=1000)

Τι είδαμε ως εδώ Δομές επανάληψης για υπολογισμό αθροισμάτων Μπορούν να αντικατασταθούν με κατάλληλες συναρτήσεις Προσοχή στον προσδιορισμό αρχής:βήματος:τέλους Σε προβλήματα αριθμητικής ανάλυσης Η ακρίβεια εξαρτάται από τον αριθμό των βημάτων που επιλέγουμε ή λογικής συνθήκης (συνθήκη εντός while σε μέθοδο διχοτόμησης) Σημείων υπολογισμού (ακρίβεια κανόνα τραπεζίου για υπολογισμό ολοκληρωμάτων συναρτήσει διαμερίσεων σε n ίσα μέρη)

Και κάτι τελευταίο To 1947 η Grace Hopper εργαζόμενη στον υπολογιστή Mark II του πανεπιστημίου του Harvard, διαπίστωσε ότι η προβληματική λειτουργία του υπολογιστή οφείλονταν σε ένα έντομο (bug) που είχε τρυπώσει σε κάποιο από τα κυκλώματα του υπολογιστή. Ο όρος bug και debugging επικράτησε για τα σφάλματα του υπολογιστή και τη διαδικασία αποσφαλμάτωσης αντιστοίχως. Το πρώτο «bug» τοποθετήθηκε στο ημερολόγιο του Μark II.

Τέλος Κώστας Καρατζάς Τμήμα Μηχανολόγων Μηχανικών, ΑΠΘ

Ο Μ Α Δ Α Ε Φ Α Ρ Μ Ο Γ Ω Ν Σ Υ Σ Τ Η Μ Α Τ Ω Ν Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ( I S A G ) Δ.#11 ΠΛΗΡΟΦΟΡΙΚΗ: ΠΡΟΕΚΤΑΣΕΙΣ, ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΧΩΡΙΣ ΔΟΜΕΣ 31.03.2015 Κώστας Καρατζάς Τμήμα Μηχανολόγων Μηχανικών, ΑΠΘ

-100 Ως ορεκτικό.. Έστω αρχείο εικόνας με όνομα rgb.jpg 500 400 300 200 100 0

Οι δομές εντός σου photo=imread( rgb.jpg'); size(photo) ndims(photo) min(min(photo)) max(max(photo)) image(photo)

Άρα Οι εικόνες είναι πίνακες Οι εικόνες 3 διαστάσεων με βάση τα χρώματα RGB ως «επίπεδα» 1, 2 και 3 είναι έγχρωμες προτύπου RGB Πρόσβαση και πράξεις σε τέτοιους πίνακες έχουμε/κάνουμε εύκολα με χρήση δομών και διανυσματικού προγραμματισμού

Δομές & διαν/κός προγραμματισμός Αφαίρεση NaN από 2D πίνακα (λογικοί δείκτες, isnan, any), Υπολογισμός μέσου όρου διανύσματος με κενά (isnan, λογικοί δείκτες)

Αποδοτικός (διανυσματικός) προγραμματισμός Σε μερικές πράξεις προκύπτουν μή αριθμητικές ποσότητες (1/0=Inf, 0/0=NaN). Πως μπορούμε να εντοπίσουμε τα στοιχεία αυτά σε ένα διάνυσμα? A = [-2-1 0 1 2]; Β = [ 0 0 0 0 0]; Ποιο το άθροισμα των στοιχείων του Β./Α που δεν είναι NaN? Sum(isnan(B./A)

Αποδοτικός (διανυσματικός) προγραμματισμός Σε μερικές περιπτώσεις μας ενδιαφέρει να βρούμε εάν ένας πίνακας έχει μή μηδενικά στοιχεία C = [-2 0 0 1 2]; Any(C); Εαν ενδιαφερόμασταν για το πλήθος των μη μηδενικών στοιχείων sum(c~=0)

Αποδοτικός (διανυσματικός) προγραμματισμός Υπολογισμός μέσου όρου διανύσματος με NaN (isnan, λογικοί δείκτες) Έστω πίνακας d=[1,2,3,nan;5,6,7,8] Πως θα υπολόγιζα τον Μ.Ο. μόνο αυτών που δεν είναι NaN? Pay attention!!!

Βασικά σημεία του αλγόριθμου d=[1,2,3,nan;5,6,7,8] 1. Ελέγχω με τη βοήθεια μιας δομής επανάληψης τον πίνακα d στοιχείο πρός στοιχείο 2. Εντοπίζω και μετρώ τα στοιχεία που ΔΕΝ είναι NaN 3. Αθροίζω μόνο τα στοιχεία που ΔΕΝ είναι NaN 4. Διαιρώ με το πλήθος των στοιχείων του 2ου βήματος

s=0; count=0; mo=0; for i=1:2; for j=1:4; if (isnan(d(i,j))) disp( NaN') else s=s+d(i,j); count=count+1; end end end mo=s/count s=0; count=0; mo=0; for i=1:size(d,1); for j=1:size(d,2); if (isnan(d(i,j))) disp( NaN') else s=s+d(i,j); count=count+1; end end end mo=s/count

Άλλη λύση; s=0; count=0; mo=0; for i=1:size(d,1); for j=1:size(d,2); if (isnan(d(i,j))) disp( NaN') else s=s+d(i,j); count=count+1; end end end mo=s/count mo=s/count Αλλά count=sum(sum(~isnan(d))) και s=sum(d(~isnan(d))) Υπάρχει και nanmean(d)

Έστω πίνακας D με θετικούς και αρνητικούς, ποιά η μέση τιμή όλων των θετικών; Mean(d(d>0))

Τι έχουμε δεί; Με τη χρήση δομών διαχειριζόμαστε πλήρως προβλήματα με πίνακες Ο διανυσματικός προγραμματισμός μας επιτρέπει να μεταφέρουμε απευθείας στοιχεία του αλγορίθμου στον τρόπο υπολογισμού Παρακάμπτουμε δομές Διαμορφώνουμε αποδοτικότερα και συντομότερα προγράμματα

Σημείωμα Αναφοράς Copyright Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης, Κωνσταντίνος Καρατζάς. «Πληροφορική. Ενότητα 6: Α. Αριθμητικές μέθοδοι επίλυσης προβλημάτων. Β. Προεκτάσεις, Προγραμματισμός χωρίς δομές». Έκδοση: 1.0. Θεσσαλονίκη 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: https://opencourses.auth.gr/courses/ocrs328/ Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πληροφορική Τμήμα Μηχανολόγων Μηχανικών

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά - Παρόμοια Διανομή [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. [1] http://creativecommons.org/licenses/by-sa/4.0/ Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πληροφορική Τμήμα Μηχανολόγων Μηχανικών

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Τέλος ενότητας Θεσσαλονίκη, Εαρινό Εξάμηνο 2014-2015

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Σημειώματα

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πληροφορική Τμήμα Μηχανολόγων Μηχανικών