Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα

Σχετικά έγγραφα
Εισαγωγή στους. Υπολογιστές

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink. Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος

4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Υπολογιστές Ι. Άδειες Χρήσης. Τύποι δεδομένων. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Εισαγωγή στον επιστημονικό προγραμματισμό 1 o Μάθημα

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Εισαγωγή στην Tcl. Τί είναι η Tcl;

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Δομημένος Προγραμματισμός

Υπολογιστικά Συστήματα

Εισαγωγή στη Matlab Βασικές Συναρτήσεις

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Αρχιτεκτονική Υπολογιστών

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 3: Αποκατάσταση Εικόνας.

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Εισαγωγή στον Προγραμματισμό με C++

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

Δομημένος Προγραμματισμός

Συναρτήσεις στη Visual Basic 6.0

Εισαγωγή στην Αριθμητική Ανάλυση

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Μοντελοποίηση Λογικών Κυκλωμάτων

Πληροφορική. Εργαστηριακή Ενότητα 5 η : Μαθηματικοί Τύποι. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 4)

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

Εισαγωγή στον Προγραμματισμό με C++

1 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

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

Συστήματα Αναμονής (Queuing Systems)

Υπολογιστικά & Διακριτά Μαθηματικά

Εισαγωγή στον Προγραμματισμό με C++

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

Αντικειμενοστραφής Προγραμματισμός

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Θεωρία Πιθανοτήτων & Στατιστική

6 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Υπολογιστικά & Διακριτά Μαθηματικά

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

Εισαγωγή στους Υπολογιστές

Υπολογιστικά Συστήματα

Δομημένος Προγραμματισμός

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

Επεξεργασία κειμένου και συμβολοσειρών σε C

Πρώτη επαφή με το μαθηματικό πακέτο Mathematica

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 1 ο Εργαστήριο. Εισαγωγή στο Matlab

5 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Μαθηματικά και Φυσική με Υπολογιστές

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

Υπολογιστικά & Διακριτά Μαθηματικά

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Διαδικαστικός Προγραμματισμός

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

Ευφυής Προγραμματισμός

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Υπολογιστικά & Διακριτά Μαθηματικά

Πληροφορική ΙΙ Θεματική Ενότητα 8

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 3)

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Υπολογιστικά & Διακριτά Μαθηματικά

Μαθηματικά και Φυσική με Υπολογιστές

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στους Υπολογιστές

Transcript:

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

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

Πίνακες 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 a=[ 1 3 5] b=[ 0 2 4] 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) Αρχικοποίηση πίνακα x=zeros(n,m) x=ones(n,m) x=eye(n) x=[]; Μέτρηση πλήθους στοιχείων πίνακα numel(x) size(x,n) length(x) 17

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

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

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

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

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

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

Παραδείγματα Εύρεση 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; Εύρεση 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; Ο εύκολος τρόπος: 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 24/01/2014 (11.59μμ) GROUP I 24/01/2014 (11.59μμ) Oι απαντήσεις (τα m files) να στέλνονται σε κείμενο e-mail και ΟΧΙ σαν συνημμένο αρχείο Oι απαντήσεις να έχουν τίτλο με latinikous charaktires: ASΚ02-GP1-ΤΟΕΠΟΝΥΜΟΜΟΥ-ΟΝ-02100000-24.01.2014 ASΚ02-GP2-ΤΟΕΠΟΝΥΜΟΜΟΥ-ΟΝ-02100000-24.01.2014 33

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