Υπολογιστική Επιστήμη & Τεχνολογία

Σχετικά έγγραφα
Υπολογιστική Επιστήμη & Τεχνολογία

Κατάστρωση µοντέλων συστηµάτων και διεξαγωγή υπολογιστικών πειραµάτων µε τα µοντέλα αυτά για:

Ντετερµινιστική προσοµοίωση

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 10: Προσομοίωση

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 6: Πίνακες [2/2] (Δισδιάστατοι)

A A A B A ΦΥΛΛΑ ΙΟ ΘΕΜΑΤΩΝ 1/2. Μέϱος A. Πολλαπλές επιλογές (20%) Σειριακός αριθµός : 100 Πληροφορική Ι Εξέταση Φεβρουαρίου 2019

ΕΠΑΝΑΛΗΨΗ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ Β ΛΥΚΕΙΟΥ ( α μέρος )

Λογική Σχεδίαση Ψηφιακών Συστημάτων

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

Νέο υλικό. Matlab2.pdf - Παρουσίαση μαθήματος 2. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (13 σελίδες).

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Δομές Δεδομένων & Αλγόριθμοι

1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΕΥΘΕΙΑ Β ΛΥΚΕΙΟΥ. i) Μία ευθεία με συντελεστή διεύθυνσης ίσο με το μηδέν, θα είναι παράλληλη στον άξονα των y.

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΟΥ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

1,y 1) είναι η C : xx yy 0.

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

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

ΜΑΘΗΜΑΤΑ ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΟΥ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Β ΛΥΚΕΙΟΥ

Επαναληπτικές μέθοδοι για την επίλυση γραμμικών συστημάτων. Μιχάλης Δρακόπουλος

Τάξη B. Μάθημα: Η Θεωρία σε Ερωτήσεις. Επαναληπτικά Θέματα. Επαναληπτικά Διαγωνίσματα. Επιμέλεια: Κώστας Κουτσοβασίλης. α Ε

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Δομές επανάληψης

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 4 ο Εργαστήριο. Διανύσματα-Πίνακες 1 ο Μέρος

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΔΙΑΝΥΣΜΑΤΑ ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΑΡΙΘΜΟΥ ΜΕ ΔΙΑΝΥΣΜΑ. ΘΕΜΑ 2ο

2 Ο ΚΕΦΑΛΑΙΟ Ενότητα 5.

Πρόβλημα 4.9.

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

ΠΡΩΤΟ ΘΕΜΑ ΕΞΕΤΑΣΕΩΝ

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

1 ΔΙΑΓΩΝΙΣΜΑΤΑ ΠΡΟΑΓΩΓΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΛΥΚΕΙΩΝ ΤΗΣ ΡΟΔΟΥ ΤΗΣ Β ΤΑΞΗΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ. α. Τι ονομάζουμε εσωτερικό γινόμενο δύο διανυσμάτων, β

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ημιουργία και διαχείριση πινάκων

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

ΤΡΑΠΕΖΑ ΘΕΜΑΤΩΝ ΤΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΘΕΤΙΚΟΥ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΤΗΣ Β ΛΥΚΕΙΟΥ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

1 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΑΛΓΟΡΙΘΜΟΙ

ΘΕΩΡΙΑ ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Β ΛΥΚΕΙΟΥ

Μαρία Λουκά. Εργαστήριο Matlab. Αριθμητικός υπολογισμός ιδιοτιμών και ιδιοδιανυσμάτων. Τμήμα Πληροφορικής και Τηλεπικοινωνιών.

Πολλαπλασιασμός αριθμού με διάνυσμα

AB. Αν το διάνυσμα AB έχει μέτρο 1, τότε λέγεται

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

Αν ο κύκλος έχει κέντρο την αρχή των αξόνων Ο(0,0) τότε έχει εξίσωση της μορφής : x y και αντίστροφα. Ειδικότερα Ο κύκλος με κέντρο Ο(0,0)

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

Σφαίρα σε ράγες: Η συνάρτηση Lagrange. Ν. Παναγιωτίδης

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Β ΛΥΚΕΙΟΥ

Ελίνα Μακρή

β = (9, x) να είναι ΤΕΤΡΑΚΤΥΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΜΕΣΗΣ ΕΚΠΑΙ ΕΥΣΗΣ Αµυραδάκη 20, Νίκαια ( ) ΤΑΞΗ...Β ΛΥΚΕΙΟΥ... ΜΑΘΗΜΑ...ΜΑΘΗΜΑΤΙΚΑ ΚΑΤ/ΣΗΣ...

Αριθµητική υπολογιστών

Διδάσκοντες: Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Τετραγωνικά μοντέλα. Τετραγωνικό μοντέλο συνάρτησης. Παράδειγμα τετραγωνικού μοντέλου #1. Παράδειγμα τετραγωνικού μοντέλου #1

1.4 Αριθμητική υπολογιστών και σφάλματα

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 5 Μαίου 2012

Κωνικές τομές. Προκύπτουν σαν τομές ορθού κυκλικού κώνου με επίπεδο που δεν διέρχεται από την κορυφή του

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

ΜΕΘΟΔΙΚΗ ΕΠΑΝΑΛΗΨΗ ΜΑΘΗΜΑΤΙΚΑ Β ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ

Κεφάλαιο 1: Κίνηση και γεωμετρικά σχήματα

ΚΕΦΑΛΑΙΟ 1 Ο ΔΙΑΝΥΣΜΑΤΑ

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

Α. ΑΠΑΡΑΙΤΗΤΕΣ ΓΝΩΣΕΙΣ ΘΕΩΡΙΑΣ. και η συνάρτηση f είναι παραγωγίσιμη στο x. την παράγωγο f' ( x. 0 ) (ή και στιγμιαίο ρυθμό μεταβολής).

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 21 Μαίου Γράψτε το ονοµατεπώνυµο και αριθµό ταυτότητάς σας στο πάνω µέρος της αυτής της σελίδας.

ΘΕΩΡΙΑ Α ΓΥΜΝΑΣΙΟΥ. Η διαίρεση καλείται Ευκλείδεια και είναι τέλεια όταν το υπόλοιπο είναι μηδέν.

Τετραγωνικά μοντέλα. Τετραγωνικό μοντέλο συνάρτησης. Παράδειγμα τετραγωνικού μοντέλου #1. Παράδειγμα τετραγωνικού μοντέλου #1

2 Ο ΚΕΦΑΛΑΙΟ Ενότητα 5.

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

ΜΑΘΗΜΑΤΙΚΑ B ΛΥΚΕΙΟΥ

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6

Κεφάλαιο Χώρος, Διανύσματα, Διανυσματικές εξισώσεις, Συστήματα Συντεταγμένων.

Πράξεις με δυαδικούς αριθμούς

Ερωτήσεις αντιστοίχισης

Προγραμματιστικές Ασκήσεις, Φυλλάδιο 1

Προγραμματισμός Η/Υ (ΤΛ2007 )

Μαθηµατικά Β Λυκείου Θετικής - τεχνολογικής κατεύθυνσης. Διανύσματα ΚΑΤΗΓΟΡΙΑ 8. Εσωτερικό γινόµενο διανυσµάτων. Ασκήσεις προς λύση 1-50

ΑΣΚΗΣΕΙΣ. x + 5= 6 (1) και. x = 1, οπότε η (2) γίνεται 1 5x + 1= 7 x = 1 ΘΕΜΑ Β. Άσκηση 1. Να βρείτε τον αριθμό x R όταν. Λύση.

Ασκήσεις μελέτης της 19 ης διάλεξης

Μαθηματικά Θετικής Τεχνολογικής Κατεύθυνσης Β Λυκείου

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ

Μεθοδολογία Έλλειψης

Κεφάλαιο 2: Διανυσματικός λογισμός συστήματα αναφοράς

ΘΕΜΑΤΑ. Μονάδες 8 Β. η εξίσωση της μεσοκάθετης της ΑΓ Μονάδες 9

) = Απόσταση σημείου από ευθεία. Υπολογισμός Εμβαδού Τριγώνου. και A

ΠΛΗ111. Ανοιξη Μάθηµα 2 ο. Αλγόριθµοι και Αφηρηµένοι Τύποι εδοµένων. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Σχέσεις. ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Τράπεζα Θεμάτων Διαβαθμισμένης Δυσκολίας-Μαθηματικά Ομάδας Προσανατολισμού Θετικών Σπουδών ΟΜΑΔΑΣ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΘΕΤΙΚΩΝ ΣΠΟΥΔΩΝ Β Λ Υ Κ Ε Ι Ο Υ

lim είναι πραγµατικοί αριθµοί, τότε η f είναι συνεχής στο x 0. β) Να εξετάσετε τη συνέχεια της συνάρτησης f (x) =

Ειδικά θέματα στη ροπή αδράνειας του στερεού.

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

Διανύσματα. Κώστας Γλυκός ΜΑΘΗΜΑΤΙΚΟΣ. Kατεύθυνση κεφάλαιο ασκήσεις. Kglykos.gr. εκδόσεις. Καλό πήξιμο. Ι δ ι α ί τ ε ρ α μ α θ ή μ α τ α

Transcript:

Υπολογιστική Επιστήμη & Τεχνολογία Εξέταση Αυγούστου 2015 Διάρκεια 2.5 ώρες 1. Ιεραρχίες μνήμης (1μ) Γράψτε αλγόριθμο σε MATLAB που να υπολογίζει τα αθροίσματα των στηλών ενός τετραγωνικού πίνακα N N γνωρίζοντας ότι τελικά ο αλγόριθμος αυτός θα υλοποιηθεί σε γλώσσα C. Η C αποθηκεύει τους δισδιάστατους πίνακες ανά γραμμές, άρα ο αλγόριθμος πρέπει να διατρέχει τον πίνακα ανά γραμμές. % A πίνακας NxN colsum = zeros(1, N); for i = 1:N for j = 1:N colsum(j) = colsum(j) + A(i,j); 2. Monte Carlo (1.5μ) Επιλέγουμε με τυχαίο τρόπο δύο σημεία πάνω στον μοναδιαίο κύκλο. Ποια είναι η πιθανότητα η χορδή που τα ενώνει να έχει μήκος μεγαλύτερο από 1; Ένα τυχαίο σημείο του κύκλου ορίζεται από τη γωνία τις ακτίνας του με τον άξονα των x (συνημιτόνων). function p = chordlenν() % N - Αριθμός πειραμάτων % p - Η ζητούμενη πιθανότητα % Επιλέγουμε με τυχαίο τρόπο τις γωνίες που σχηματίζουν τα τυχαία % σημεία 1 και 2 με τον άξονα των x. theta1 = 2*pi*randΝ(, 1); theta2 = 2*pi*randΝ(, 1); % Οι συντεταγμένες του σημείου 1 για τα N πειράματα. x1 = cos(theta1); y1 = sin(theta1); % Οι συντεταγμένες του σημείου 2 για τα N πειράματα. x2 = cos(theta2); y2 = sin(theta2); %%%-- A τρόπος (με for) --%%% 1

hits = 0; for i = Ν1: if sqrt((x1(i)-x2(i))^2 + (y1(i)-y2(i))^2) > 1 hits = hits + 1; p = hitsν/; %%%-- B τρόπος (χωρίς for) --%%% % p = sum(sqrt((x1-x2).^2 + (y1-y2).^2) > 1)/N; 3. Αριθμητική υπολογιστών (1μ) (αʹ) Ποια είναι η δυαδική αναπαράσταση των αριθμών z = x 512 και z (x τα 3 τελευταία ψηφία του Α.Μ. σας), σε υπολογιστή με 10 bits και στα συστήματα αναπαράστασης (i) συμπλήρωμα ως προς 2, και (ii) πλεόνασμα κατά 512. (βʹ) Έστω ένα σύστημα- παιχνίδι κινητής υποδιαστολής με m = 4 και e = 1. Ποια είναι η αναπαράσταση των αριθμών 150.1, 0.00042, -10.042 στο σύστημα αυτό; Δώστε ένα παράδειγμα δύο αριθμών οι οποίοι έχουν ακριβή αναπαράσταση στο σύστημα αυτό, ενώ το άθροισμά τους δεν έχει. (αʹ) Έστω x = 123. Μετατρέπουμε με κάποιον από τους γνωστούς τρόπους (διαφάνεια 5 στις σημειώσεις) τον z = 512 x = 512 123 = 389 σε δυαδικό και κρατάμε μόνο τα τελευταία 10 bits: z = 389 10 = 0110000101 2. (i) συμπλήρωμα ως προς 2: z = 0110000101 2, z = 1001111011 2 (διαφάνεια 10). (ii) Το πλεόνασμα κατά 512 είναι το συμπλήρωμα ως προς το 2 με το πρόσημο αντετραμμένο: z = 1110000101 2, z = 0001111011 2 (διαφάνεια 11). (βʹ) 150.1 1.501 10 2, 0.00042 4.200 10 4, 10.042 1.004 10 1. Οι αριθμοί 1 = 1.000 10 0 και 0.0001 = 1.000 10 4 έχουν ακριβή αναπαράσταση στο σύστημα αυτό, ενώ το άθροισμα τους 1.0001 1.000 10 0, δεν έχει. 4. Αραιοί πίνακες (1.5μ) (αʹ) Να επιλέξετε έναν τυχαίο και αραιό πίνακα 6 4 με ακριβώς 10 μη-μηδενικά στοιχεία και να τον αποθηκεύσετε με το σύστημα των συντεταγμένων. (βʹ) Να γράψετε αλγόριθμο πολλαπλασιασμού συμμετρικού αραιού πίνακα με διάνυσμα, όταν είναι αποθηκευμένο μόνο το κάτω τριγωνικό μέρος του πίνακα με το σύστημα CRS. (αʹ) Έστω τότε 4.6 0 4.7 0 3.5 0 8.8 0 A = 0 0 2.7 0 0.5 1.6 0 0 0 7.3 3.9 0 0 0 0 3.3 2

val = [4.6 4.7 3.5 8.8 2.7 0.5 1.6 7.3 3.9 3.3] row = [1 1 2 2 3 4 4 5 5 6] col = [1 3 1 3 3 1 2 2 3 4] (βʹ) Κώδικας για y = Ax, όπου A αραιός συμμετρικός πίνακας με αποθηκευμένο το κάτω τριγωνικό μέρος του με το σύστημα CRS: n = length(start) - 1; y = zeros(n,1); for i = 1:n for k = start(i):start(i+1)-1 j = col(k); y(i) = y(i) + val(k)*x(j); if i ~= j y(j) = y(j) + val(k)*x(i); 5. Αλυσίδες Markov (1μ) Γράψτε συνάρτηση MATLAB που να ελέγχει αν ένας πίνακας είναι πίνακας Markov. Η συνάρτησή σας θα πρέπει να δέχεται τον ελάχιστο δυνατό αριθμό παραμέτρων και να επιστρέφει μία λογική (boolean) τιμή. Ένας πίνακας Markov πρένει να είναι (i) συμμετρικός, (ii) τα στοιχεία του, ως πιθανότητες, να έχουν τιμές στο διάστημα [0, 1], και (iii) το άθροισμα κάθε στήλης του να είναι 1. Α τρόπος (χωρίς πράξεις σε επίπεδο πινάκων) function ismarkov = testmarkov(m) % M - Ο πίνακας που θα ελεγχθεί ismarkov = true; [m, n] = size(m); % Έλεγχος συμμετρίας if m ~= n return for i = 1:n for j = 1:i-1 if M(i,j) ~= M(j,i) return % Έλεγχος μεγέθους τιμών 3

for i = 1:n for j = i+1:n % στο άνω τριγωνικό μέρος λόγω συμμετρίας if M(i,j)<0 M(i,j)>1 return; % Έλεγχος αθροίσματος στηλών for j = 1:n sum = 0; for i = 1:n sum = sum + M(i,j); if sum > 1 return; Β τρόπος (με πράξεις σε επίπεδο πινάκων) function ismarkov = testmarkov(m) % M - Ο πίνακας που θα ελεγχθεί ismarkov =... (size(m,1)==size(m,2) && all(all(m==m ))) &&... % συμμετρία all(all((m>=0 & M<=1))) &&... % μέγεθος τιμών all(all(abs(sum(m)-1)<=eps)); % άθροισμα στηλών 6. Τυχαίοι περίπατοι (1μ) Έστω τυχαία ανάβαση σε σκάλα με N σκαλοπάτια. Η ανάβαση ξεκινάει στη βάση της σκάλας με σκοπό να καταλήξει στην κορυφή. Ευρισκόμενος σε ένα ενδιάμεσο σκαλοπάτι, η ανάβαση μεταβαίνει ισοπίθανα σε ένα από τα 2 γειτονικά της σκαλοπάτια. Γράψτε μια συνάρτηση howmany = steps(n), που προσομοιώνει την τυχαία αυτή ανάβαση και καταγράφει την επισκεψιμότητα κάθε σκαλοπατιού (πόσες φορές ο περίπατος βρέθηκε σε έναν δεδομένο σκαλοπάτι). Η συνάρτησή σας πρέπει επίσης να πλοτάρει ένα ραβδόγραμμα με την επισκεψιμότητα κάθε σκαλοπατιού. Είναι ουσιαστικά ένας τυχαίος περίπατος σε μια διάσταση (ένα ευθύγραμμο τμήμα) με N ενδιάμεσους σταθμούς. function howmany = steps(n) NN = N + 2; howmany = zeros(nn, 1); x = 1; howmany(x) = 1; while x ~= NN if x == 1, x = x + 1; else p = rand(1); if p < 0.5 4

x = x - 1; else x = x + 1; howmany(x) = howmany(x) + 1; bar(howmany); 7. Προσομοίωση (1μ) Θεωρήστε ότι στο πρόβλημα καταδίωξης ταύρου-οδοιπόρου υπάρχει και ένας δεύτερος ταύρος που ξεκινάει από μια διαφορετική θέση από εκείνη του πρώτου και καταδιώκει και αυτός τον οδοιπόρο. Θεωρήστε ακόμα ότι οι δύο ταύροι κινούνται με διαφορετικές αλλά σταθερές ταχύτητες και ότι η ταχύτητα του πεζοπόρου είναι επίσης σταθερή. Πως τροποποιείται ο αλγόριθμος καταδίωξης με τα νέα δεδομένα? Να γράψετε τον τροποποιημένο αλγόριθμο σαν συνάρτηση MATLAB, με κατάλληλες παραμέτρους εισόδου/εξόδου. function saved = pursuit(xb1, yb1, vb1, xb2, yb2, vb2, xh, vh, xf, dt) % xb1, yb1, vb1 - Θέση και ταχύτητα ταύρου 1 % xb2, yb2, vb2 - Θέση και ταχύτητα ταύρου 2 % xh, vh - Θέση και ταχύτητα οδοιπόρου % xf - Θέση φράχτη % dt - χρονικό βήμα προσομοίωσης t = 0; s1 = sqrt((xb1-xh)^2+yb1^2); s2 = sqrt((xb2-xh)^2+yb2^2); while xh<xf && s1>1 && s2>1 t = t + dt; xb1 = xb1 + (xh-xb1)*vb1*dt/s1; yb1 = yb1 - yb1*vb1*dt/s1; xb2 = xb2 + (xh-xb2)*vb2*dt/s2; yb2 = yb2 - yb2*vb2*dt/s2; xh = xh + vh*dt; s1 = sqrt((xb1-xh)^2+yb1^2); s2 = sqrt((xb2-xh)^2+yb2^2); if xh >= xf, saved = true; else saved = false; 8. MATLAB structs (1μ) Συμπληρώστε την παρακάτω συνάρτηση έτσι ώστε να λειτουργεί σύμφωνα με τις προδιαγραφές της: function Q = ThirdVertex(P1,P2) % Τα P1 και P2 είναι διακριτά σημεία με την ίδια συντεταγμένη y. % Το Q είναι ένα σημείο τέτοιο ώστε τα P1, P2 και Q να ορίζουν % ένα ισόπλευρο τρίγωνο. Η συντεταγμένη y του Q πρέπει να είναι % μεγαλύτερη από τη συντεταγμένη y των P1 και P2. 5

Θεωρήστε ότι τα πεδία της δομής ενός σημείου είναι τα x και y. Χρησιμοποιούμε τη βοηθητική συνάρτηση MakePoint από το βιβλίο. function Q = ThirdVertex(P1,P2) side = abs(p1.x - P2.x); % Μήκος πλευράς xq = (P1.x + P2.x)/2; yq = P1.y + 0.5*side*tan(pi/3); Q = MakePoint(xQ, yq); 9. Επεξεργασία εικόνας (1μ) Γράψτε μια συνάρτηση DisplayMosaic(P, q, r) που να εμφανίζει ένα μωσαϊκό q r της εικόνας που κωδικοποιείται στο το ασπρόμαυρο jpeg αρχείο P. Η εικόνα που εμφανίζεται δηλαδή θα πρέπει να αποτελείται από q r αντίγραφα της αρχικής εικόνας, διατεταγμένα σε q γραμμές και r στήλες. Α τρόπος function DisplayMosaic(P, q, r) photo = imread(p); [nr, nc] = size(photo); mosaic = zeros(nr*q, nc*r, uint8); for i = 1:q istart = (i-1)*nr + 1; i = i*nr; for j = 1:r jstart = (j-1)*nc + 1; j = j*nc; mosaic(istart:i, jstart:j) = photo; imshow(mosaic); Β τρόπος function DisplayMosaic(P, q, r) photo = imread(p); temp = []; for j = 1:r temp = [temp photo]; mosaic = []; for i = 1:q mosaic = [mosaic; temp]; imshow(mosaic); Γ τρόπος function DisplayMosaic(P, q, r) photo = imread(p); mosaic = repmat(photo, q, r); imshow(mosaic); 6

10. Επεξεργασία ήχου (1μ) Γράψτε συνάρτηση error = SoundSlice(infile, Tstart, T, outfile) που να αποκόπτει από το wav αρχείο infile το ηχητικό στιγμιότυπο ανάμεσα στις χρονικές στιγμές Tstart και T και να το αποθηκεύει στο αρχείο outfile. Η συνάρτησή σας να ελέγχει αν οι δεδομένες χρονικές στιγμές Tstart, T είναι μέσα στα όρια της ηχογράφησης (error = 0) ή όχι (error = 1). Θεωρήστε χωρίς έλεγχο ότι Tstart < T. Θεωρούμε ότι και οι δυο ηχογραφήσεις έχουν τον ίδιο ρυθμό δειγματοληψίας. error = SoundInsert(infile, Tstart, T, outfile) [sound, rate] = wavread(infile); error = 0; n = length(sound); % Διάρκεια ηχογράφησης σε sec T = (n-1)/rate; % Έλεγχος ορίων if Tstart < 0 T > T error = -1; return % Θέσεις στο διάνυσμα που αντιστοιχούν στα Tstart, T. istart = Tstart*rate + 1; i = T*rate + 1; % Νέο διάνυσμα δειγμάτων. newsound = sound(istart:i); wavwrite(newsound, rate, 8, outfile); 7