ΜΑΣ 191. Μαθηματικά με Υπολογιστές Διδάσκων: Γιώργος Γεωργίου Ενδιάμεση εξέταση Θεωρία 18 Μαρτίου 2009

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

ΜΑΣ 191. Μαθηματικά με Υπολογιστές Διδάσκων: Γιώργος Γεωργίου Ενδιάμεση εξέταση Θεωρία 26 Μαρτίου 2007

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

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

ΜΑΣ 191. Μαθηματικά με Υπολογιστές Ενδιάμεση εργαστηριακή εξέταση 26 Απριλίου 2007

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

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

Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΤΟΥ MATLAB

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ MATHLAB Α ΜΕΡΟΣ

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

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

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

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

Βασικά στοιχεία στο Matlab

4. Εισαγωγή στο Matlab

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB. Κολοβού Αθανασία Ε.Τ.Ε.Π.

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

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

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

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

Συναρτήσεις - Όρια- Παράγωγοι- Ολοκληρώματα Ακολουθίες-Σειρές

Εργαστήριο Γραμμικής Άλγεβρας. H Matlab ως γλώσσα προγραμματισμού

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

ΜΑΣ 473/673: Μέθοδοι Πεπερασμένων Στοιχείων

Χρονικές σειρές 3 o μάθημα: Εισαγωγή στη MATLAB

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

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

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

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

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

Πληροφορική. Ενότητα 2: Α. Μεταβλητές. Όλα είναι πίνακες. Β. Δεδομένα. Σφάλματα. Δομές. Κωνσταντίνος Καρατζάς Τμήμα Μηχανολόγων Μηχανικών

MATLAB. Λογισµικό υλοποίησης αλγορίθµων και διεξαγωγής υπολογισµών.

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

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

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

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

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

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

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

10 ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ

Χρονικές σειρές 9 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (3) ΓΡΑΦΗΜΑΤΑ

Έξοδος Matlab: Έξοδος Matlab:

Εφαρμοσμένα Μαθηματικά ΙΙ Τελική Εξέταση Ι. Λυχναρόπουλος

2. Δισδιάστατα γραφικά

Για τη δημιουργία ενός διανύσματος με στοιχεία από το 0 μέχρι το 20 με βήμα το 2 (χρησιμοποιείται συνήθως για διανύσματα χρόνου) δίνουμε

Χρονικές σειρές 2 o μάθημα: Εισαγωγή στη MATLAB

Χρονικές σειρές 6 o μάθημα: M-Files (συνέχεια) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB - Bρόγχοι for

Υπολογισμός αθροισμάτων

3) το παράθυρο Πίνακας τιμών όπου εμφανίζονται οι τιμές που παίρνουν οι παράμετροι

ΑΕΝ / ΑΣΠΡΟΠΥΡΓΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΙΣΜΟΥ. Σημειώσεις για τη χρήση του MATLAB στα Συστήματα Αυτομάτου Ελέγχου

Συνοπτικός οδηγός MATLAB & OCTAVE. (έως και συναρτήσεις) Ιωάννης Καλατζής 2018d

Ένα πρόβλημα στη μετεωρολογία

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

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

Στη MATLAB τα πολυώνυμα αναπαριστώνται από διανύσματα που περιέχουν τους συντελεστές τους σε κατιούσα διάταξη. Για παράδειγμα το πολυώνυμο

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

Λογικά Διανύσματα. >>x = -3/2*pi : pi/100 : 3/2*pi; >>y = tan(x); >>plot(x, y)

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

ΤΗΛΕΠΙΣΚΟΠΗΣΗ. Γραµµικοί Μετασχηµατισµοί (Linear Transformations) Τονισµός χαρακτηριστικών εικόνας (image enhancement)

M files RCL Κυκλώματα

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

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

Η μέθοδος PCA -Ανάλυση Κύριων Συνιστωσών

A Τελική Εξέταση του μαθήματος «Αριθμητική Ανάλυση» Σχολή Θετικών Επιστημών, Τμήμα Μαθηματικών, Πανεπιστήμιο Αιγαίου

Βασικά στοιχεία του MATLAB

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 17

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 14

Εισαγωγή στο Πρόγραμμα Maxima

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;

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

Εισαγωγή στο Matlab Μέρος Α. Κυριακίδης Ιωάννης 2011

Ασκήσεις Ρομποτικής με την χρήση του MATLAB

Παραδείγματα διπλών oλοκληρωμάτων Γ. Λυχναρόπουλος

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΕΝΤΡΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΣΧΟΛΗ ΤΜΗΜΑ. Μαθηματικά 1. Σταύρος Παπαϊωάννου

1 η Εργαστηριακή Άσκηση Εισαγωγή στο MATLAB

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

Μέγιστα & Ελάχιστα. ΗΥ111 Απειροστικός Λογισμός ΙΙ

11 ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

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

f x και τέσσερα ζευγάρια σημείων

Εφαρμοσμένα Μαθηματικά ΙΙ Εξέταση Σεπτεμβρίου Ι. Λυχναρόπουλος

Ασκήσεις Διανυσματικής Ανάλυσης

Παρουσίαση του Mathematica

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Σύντομη Αναφορά σε Βασικές Έννοιες Ψηφιακής Επεξεργασίας Σημάτων

Χρονικές σειρές 4 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ

MATLAB Desktop (Επιφάνεια Εργασίας MATLAB) [1.]

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

Εισαγωγή στη γλώσσα προγραμματισμού C++

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ηµιουργία αρχείου στον matlab editor Πληκτρολόγηση ακολουθίας εντολών

Μαθηματικός Ορισμός Διδιάστατου Χώρου (R 2 )

Γ. Ν. Π Α Π Α Δ Α Κ Η Σ Μ Α Θ Η Μ Α Τ Ι Κ Ο Σ ( M S C ) ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ. ΠΡΟΓΡΑΜΜΑ: Σπουδές στις Φυσικές Επιστήμες

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

Εισαγωγή στο Matlab (μέρος β) Κολοβού Αθανασία, ΕΔΙΠ,

ΠΑΡΑΡΤΗΜΑ Α Εισαγωγή στο MATLAB

Transcript:

ΜΑΣ 9. Μαθηματικά με Υπολογιστές Διδάσκων: Γιώργος Γεωργίου Ενδιάμεση εξέταση Θεωρία 8 Μαρτίου 9 ΟΝΟΜΑ: ΑΤ:. Πρόβλημα (α) Ποια από τα πιο κάτω ονόματα μεταβλητών δεν είναι αποδεκτά στη MATLAB; (i) f (ii) sin (iii) Inf (iv) if (v) name μ. (β) Συμπληρώστε τον πίνακα με τις τιμές που επιστρέφουν οι συναρτήσεις βιβλιοθήκης round, floor, ceil και fi όταν =.49. Εντολή round() floor() ceil() fi() Αποτέλεσμα μ. (α) Τα f (δεν αρχίζει με γράμμα του Αγγλικού αλφαβήτου) και if (λέξη κλειδί). >> isvarname('f'), isvarname('sin'), isvarname('inf'), isvarname('if'), isvarname('name') (β) >> =.49; round(), floor(), ceil(), fi()

Εντολή Αποτέλεσμα round() floor() ceil() fi()

Πρόβλημα Να συμπληρωθούν τα αποτελέσματα που δίνει η ΜΑΤLAB: >> =[- NaN -Inf eps]; >> y=.:.5:.9; >> >> length() Αποτέλεσμα >> length(y) Αποτέλεσμα >> >> isfinite() Αποτέλεσμα >> find(isfinite()) Αποτέλεσμα 4 >> (find(isfinite())) Αποτέλεσμα 5 >> >> all() Αποτέλεσμα 4 μ. >> =[- NaN -Inf eps]; >> y=.:.5:.9; >> >> length() >> length(y) >> >> isfinite() >> find(isfinite()) 5 >> (find(isfinite())) -.. >> >> all()

Πρόβλημα Δίνονται οι πιο κάτω εντολές της ΜΑΤLΑΒ: >> clear >> z=+i z =. +.i >> i=z i =. +.i >> z=+i; >> c=z==z; Ποιες είναι οι τιμές των μεταβλητών z και c; μ. >> z,c z =. +.i c = Παρατηρούμε ότι η z είναι μιγαδική μεταβλητή ενώ η c είναι λογική μεταβλητή. Αυτό μπορούμε να το δούμε με την εντολή whos: >> whos Name Size Bytes Class Attributes c logical i double comple z double comple z double comple 4

Πρόβλημα 4 (α) Αν u = ( u, u,, u n ), πως μπορεί να υπολογιστεί με μια μόνο εντολή της MATLAB το άθροισμα n S = u u k = μ. (β) Γράψτε τις εντολές για να σχεδιαστούν στο ίδιο γράφημα και στο διάστημα [,π] με βήμα π/ οι γραφικές παραστάσεις των συναρτήσεων y = sin sin( ), y = sin( )sin( ), y = sin( 4)sin( ) k+ με κόκκινη συνεχή γραμμή πάχους, μπλε συνεχή γραμμή πάχους και πράσινη διακεκομμένη γραμμή πάχους, αντίστοιχα. μ. (α) >> sum(abs(u(:n)-u(:n-))) Για παράδειγμα, >> u=[ - 5 ] u = - 5 >> sum(abs(u(:n)-u(:n-))) (β) Με τις εντολές >> =:pi/:*pi; >> y=sin().*sin(*); plot(,y,'r','linewidth',), hold on; >> y=sin(-).*sin(*); plot(,y,'b','linewidth',); >> y=sin(-4).*sin(*); plot(,y,'g--','linewidth',); παίρνουμε το ακόλουθο γράφημα: k.8..4. -. -.4 -. -.8-4 5 7 5

Πρόβλημα 5 Αν p = + + q= 4 5 8 4, 5 γράψτε τις εντολές MATLAB για τα εξής: (α) Υπολογισμός του pq μ. (β) Υπολογισμός του p μ. (γ) Εύρεση των ριζών του p μ. (δ) Εύρεση των σημείων τομής των p και q μ. (α) >> p=[5 - -8 4]; q=[5 -]; >> conv(p,q) 75 - -8 5-8 (β) >> conv(p, conv(p,p)) Columns through 7 75 5 7 - -98 448 84 Columns 8 through -84-5 -84 4 (γ) >> roots(p) -.78 -.5.5.874 (δ) >> roots(p-[ q]) -.885 -.5.5.55

Πρόβλημα Να συμπληρωθούν οι τρεις εντολές της MATLAB που λείπουν: >> Εντολή Name Size Bytes Class Attributes L logical Name char f function_handle 8 double 8 double 7 double z double comple >> pi^.459 >> Εντολή >> ans.45957785 >> Εντολή Your variables are: μ. >> whos Name Size Bytes Class Attributes L logical Name char f function_handle 8 double 8 double 7 double z double comple >> pi^.459 >> format long >> ans.45957785 >> who * Your variables are: 7

Πρόβλημα 7 (α) Ορίστε στη MATLAB τα εξής: A = και b = 4 μ. Γράψτε τις εντολές της MATLAB που υπολογίζουν τα ακόλουθα: (β) Την ορίζουσα και τον βαθμό του Α. μ. (γ) Τον ανάστροφο και τον αντίστροφο του Α. μ. (δ) Τις ιδιοτιμές και τα ιδιοδιανύσματα του Α. μ. (ε) Τη λύση του συστήματος A=b μ. (α) (β) (γ) (δ) >> A=[eye() ones(,); ones(,4)], b=[:4]' A = b = 4 >> det(a) - >> rank(a) 4 >> A' >> inv(a).5 -.5 -.5.5 -.5.5 -.5.5 -.5 -.5.5.5.5.5.5 -.5 >> [V,D]=eig(A) V =.48 -..7887.48.48.7887 -..48.48 -.5774 -.5774.48 8

-.77.77 D = -.7...7 (ε) >> A\b 9

Πρόβλημα 8 (α) Κατασκευάστε με απλό τρόπο (και όχι με απευθείας εκχώρηση τιμών) τον πίνακα: A = 9 7 5 μ. (β) Κατασκευάστε με απλό τρόπο (και όχι με απευθείας εκχώρηση τιμών) τον πίνακα: B = μ. (γ) Κατασκευάστε με απλό τρόπο (και όχι με απευθείας εκχώρηση τιμών) τον πίνακα: 4 4 4 4 5 4 4 4 4 5 4 4 4 4 5 C = 4 4 4 4 5 μ. (α) >> A=[*ones() eye(,4);:-:] A = 9 7 5 (β) (γ) >> B=*ones(4,5); B(:4,:4)= B = >> n=7; % For eample >> C=4*ones(n); C(:,end)=5; C(end,:)= C = 4 4 4 4 4 4 5 4 4 4 4 4 4 5 4 4 4 4 4 4 5 4 4 4 4 4 4 5 4 4 4 4 4 4 5 4 4 4 4 4 4 5

Πρόβλημα 9 Ορίστε τη συνάρτηση f( ) = e sin( ) όπου το να μπορεί να είναι διάνυσμα με τους εξής τρόπους: (α) Με function m-file. μ. (β) Με ανώνυμη συνάρτηση. μ. (γ) Με την εντολή inline. μ. (δ) Σχεδιάστε το γράφημα της f στο [,5] με διαφορετικές εντολές. μ. (α) function y=f() % F y=ep( sqrt().* sin(*) ); % End of F (β) (γ) >> f=@() ep( sqrt().* sin(*) ) f = @() ep( sqrt().* sin(*) ) >> f=inline('ep( sqrt().* sin(*) )','') f = Inline function: f() = ep( sqrt().* sin(*) ) (δ) ος τρόπος Εντολή plot Με τις εντολές >> =:.:5; plot(,f()) παίρνουμε το γράφημα: 9 8 7 5 4.5.5.5.5 4 4.5 5 ος τρόπος Εντολή fplot Εφόσον έχουμε ορίσει ανώνυμη συνάρτηση ή συνάρτηση inline, με την εντολή >> fplot(f,[,5]) παίρνουμε το γράφημα

.5.5.5.5 4 4.5 5 9 8 7 5 4 ος τρόπος Εντολή ezplot Χρησιμοποιούμε τη συνάρτηση ezplot: >> ezplot(f,,5) 8 ep( sqrt() sin( ) ) 7 5 4.5.5.5.5 4 4.5 5

y - - 9 Πρόβλημα (α) Σχεδιάστε το γράφημα της καμπύλης 4 4 4 + + y 4y + 4y = στο διάστημα [-,]. μ. (β) Σχεδιάστε τις ισοϋψείς -9:.5: της 4 f ( y, ) = 4 + + y 4y + 4y στο ορθογώνιο [-,] [-,] και βάλτε ετικέτες για τις τιμές -9::. 5 μ. (α) Με την εντολή >> ezplot('4*-^4+^/+*y-4*y^+4*y^4',[-,]) παίρνουμε το ακόλουθο γράφημα: 4 4-4 + /+ y-4 y +4 y 4 =.5.5 -.5 - -.5 - - -.5 - -.5.5.5 (β) Με τις εντολές >> [,y]=meshgrid(-:.5:,-:.5:); >> z=4*-.^4+.^/+.*y-4*y.^+4*y.^4; >> [C,h]=contour(,y,z,-9:.5:); >> clabel(c,h,-9::) παίρνουμε το γράφημα.5-9 - - 9 9.5-9 - -.5 - - -.5-9 - 9 9 9 - - -.5 - -.5.5.5

Πρόβλημα (α) Ένας αριθμός μηχανής γράφεται γενικά στη μορφή (. ) = σ aa at β Εξηγήστε τι αντιπροσωπεύουν τα σ, t, β και e. μ. (β) Τι καλούμε υπερχείλιση (overflow) και τι υπεκχείλιση (underflow). μ (γ) Ποιος είναι ο κατ απόλυτη τιμή μέγιστος αριθμός μηχανής; μ. (δ) Ποιος είναι ο κατ απόλυτη τιμή ελάχιστος αριθμός μηχανής; μ. (α) Το σ είναι το πρόσημο του αριθμού. Το β είναι η βάση του αριθμητικού συστήματος. Το t είναι το πλήθος των σημαντικών ψηφίων που αποθηκεύει το σύστημα. Το e είναι ο εκθέτης. (β) Υπερχείλιση (overflow) συμβαίνει όταν το αποτέλεσμα μιας πράξης στον υπολογιστή είναι κατ απόλυτη τιμή μεγαλύτερο από τον απόλυτα μέγιστο αριθμό μηχανής: > ma Στην περίπτωση αυτή η MATLAB θέτει τον ίσο με Inf ή Inf.. Υπεκχείλιση (underflow) συμβαίνει όταν το αποτέλεσμα μιας πράξης στον υπολογιστή είναι κατ απόλυτη τιμή μικρότερο από τον απόλυτα ελάχιστο αριθμό μηχανής: < min Στην περίπτωση αυτή η MATLAB θέτει τον ίσο με. Και στις δυο περιπτώσεις χάνεται κάθε πληροφορία για τον αριθμό. e β (γ) Ο κατ απόλυτη τιμή μέγιστος αριθμός μηχανής είναι ο ( β β β ) U ma =.( )( ) ( ) β όπου U η μέγιστη τιμή που μπορεί να πάρει ο εκθέτης. (δ) Ο κατ απόλυτη τιμή ελάχιστος αριθμός μηχανής είναι ο ( ) = L min. β β όπου L η ελάχιστη τιμή που μπορεί να πάρει ο εκθέτης. β 4

Πρόβλημα (α) Αν μια δυαδική μηχανή αποθηκεύει μέχρι 8 σημαντικά ψηφία και χρησιμοποιεί στρογγύλευση, πως θα αποθηκεύσει το δυαδικό αριθμό.; μ (β) Ποια αποτελέσματα δίνει η MATLAB στις ακόλουθες περιπτώσεις /, inf/inf, realmin+realma, NaN-ΝaΝ μ (γ) Ποια από τις πιο κάτω «ισοδύναμες» εντολές είναι προτιμότερη και γιατί; (i) y=(-).^ (ii) y=.^-*.^+*- μ (α) Αν =. και t=8, τότε με στρογγύλευση (β) >> / Warning: Divide by zero. NaN >> >> Inf/Inf NaN >> >> realmin/realma >> >> NaN-NaN NaN >> fl()=.. (γ) Η (i) γιατί απαιτεί λιγότερες πράξεις, είναι πιο ακριβής για τιμές του στην περιοχή του και είναι πιο απλή! Για παράδειγμα, >> =.9999; >> y=(-).^ y = -.e- >> y=.^-*.^+*- y = -.5e- 5

Πρόβλημα Ορίστε τη συνάρτηση gy y y (, ) = ( )sin( + ) έτσι ώστε το να μπορεί να είναι διάνυσμα με τους εξής τρόπους: (α) Με function m-file. μ. (β) Με ανώνυμη συνάρτηση. μ. (γ) Με την εντολή inline. μ. (δ) Πως μπορούμε να σχεδιάσουμε το γράφημα της g στο [-,] [-,] με δύο διαφορετικούς τρόπους; μ. (ε) Σχεδιάστε το γράφημα και τις ισοϋψείς της g όπως φαίνεται στο σχήμα. μ. ( -y) sin( +y ) ( -y) sin( +y ).5 4.5 - -4 y -.5 - - y - - - - -.5 - - - (α) function z=g(,y) % G z=(.^-y).*sin(.^+y.^); % End of G (β) (γ) >> g=@(,y) (.^-y).*sin(.^+y.^) g = @(,y) (.^-y).*sin(.^+y.^) >> g=inline('(.^-y).*sin(.^+y.^)','','y') g = Inline function: g(,y) = (.^-y).*sin(.^+y.^) (δ) ος τρόπος Εντολή surf Με τις εντολές >> [,y]=meshgrid(-:.:,-:.:); >> surf(,y,g(,y))

παίρνουμε το γράφημα: 4 - -4 - - - - -.5 - -.5.5.5 ος τρόπος Εντολή ezsurf Εφόσον έχουμε ορίσει ανώνυμη συνάρτηση ή συνάρτηση inline, με την εντολή >> ezsurf(g, [-,, -, ]) παίρνουμε το γράφημα ( -y) sin( +y ) 4 - -4 - y - - - -.5 - -.5.5.5 (ε) Τα γραφήματα έγιναν στο χωρίο [-,] [-,] με τις εντολές >> subplot(,,), ezsurfc(g,[-,,-,]) >> subplot(,,), ezcontourf(g,[-,,-,]) 7

Πρόβλημα 4 (α) Γράψτε ένα m-file με επικεφαλίδα function [inside]=inunitcircle(,y,iplot) το οποίο θα ελέγχει αν το σημείο (,y) βρίσκεται μέσα ή στο σύνορο του μοναδιαίου κύκλου ο οποίος ορίζεται παραμετρικά ως εξής: + y = = cos t, y = sin t, t [, π ] Η μεταβλητή εξόδου θα παίρνει τις τιμές, ή, αν το (,y) βρίσκεται εκτός, εντός ή στο σύνορο του μοναδιαίου κύκλου, αντίστοιχα. Η inunitcircle θα επιστρέφει χωρίς να κάνει γραφικά όταν iplot=. Διαφορετικά θα σχεδιάζει τον κύκλο με μπλε συνεχή γραμμή και το σημείο (,y) με κόκκινο τετράγωνο μεγέθους 8 points και πάχος ακμής. 4 μ. (β) Γράψτε τώρα ένα m-file με επικεφαλίδα function [inside]=inanycircle(,y,iplot,, y, R) το οποίο θα ελέγχει αν το σημείο (,y) βρίσκεται μέσα ή στο σύνορο του κύκλου με κέντρο το (,y) και ακτίνα R, ( ) + ( y y ) = R, και θα κάνει κατά τα άλλα ότι κάνει και το inunitcircle.m στο (α) 4 μ. Σημείωση: η παραμετρική μορφή του κύκλου έχει ως εξής: = + Rcos t, y = y + Rsin t, t [, π ] (α) function [inside]=inunitcircle(,y,iplot) % INUNITCIRCLE % Checks if (,y) is inside the unit circle % If iplot== it plots the circle and the point % inside = : (,y) is outside % : (,y) is inside % : (,y) is on the boundary r=sqrt(^+y^); if r > inside=; elseif r== inside=; else inside=; end % Plot if iplot== if iplot== ezplot('cos(t)', 'sin(t)',[,*pi]), ais equal, hold plot(,y,'rs','markersize',8,'linewidth',), hold off set(gcf,'color','w') end % End of INUNITCIRCLE on 8

Με την εντολή >> inunitcircle(.5,-.8,) παίρνουμε το ακόλουθο γράφημα = cos(t), y = sin(t).8..4. y -. -.4 -. -.8 - -.5.5 (β) function [inside]=inanycircle(,y,iplot,, y, R) % INANYCIRCLE % Checks if (,y) is inside the circle with center (,y) % and radius R. % If iplot== it plots the circle and the point % inside = : (,y) is outside % : (,y) is inside % : (,y) is on the boundary r=sqrt((-)^+(y-y)^); if r > R inside=; elseif r==r inside=; else inside=; end % Plot if iplot== if iplot== plot(+r*cos(:.*pi:*pi),y+r*sin(:.*pi:*pi),'k'), ais equal, hold on plot(,y,'rs','markersize',8,'linewidth',), hold off set(gcf,'color','w') end % End of INANYCIRCLE Με την εντολή >> inanycircle(.,.,,,,.5) παίρνουμε το ακόλουθο γράφημα 9

.4..8..4...4..8..4.

Πρόβλημα 5 (α) Τα πολυώνυμα Legendre ορίζονται με την αναδρομική σχέση p ( ) =, p ( ) =, np( ) = (n ) P ( ) ( n ) P ( ), n=,, n n n Έτσι τα πρώτα πολυώνυμα Legendre είναι τα εξής: 5 5 4 5 p =, p =, p =, p =, p4 = + 8 4 8 Με ποιες εντολές μπορούμε να ορίσουμε τα p έως p 4 ως ανώνυμες συναρτήσεις του και να κατασκευάσουμε το ακόλουθο γράφημα;.5.5.5 -.5.5.5 p () p () -.5 -.5 - - -.5 -.5 - -.5.5.5 -.5 -.5 - -.5.5.5.5.5 -.5.5 4.75 4 -.75 +.75.5.5 p () p 4 () -.5 -.5 - - -.5 -.5 - -.5.5.5 -.5 -.5 - -.5.5.5 Σημείωση: τα όρια των αξόνων ορίζονται από τον χρήστη. 5 μ. (β) Ως γνωστό τα πολυώνυμα στη MATLAB παριστάνονται με διανύσματα. Γράψτε τις διανυσματικές μορφές των p έως p 4. μ. (γ) Γράψτε ένα m-file με επικεφαλίδα function lp=vecleg(n) που θα βρίσκει τη διανυσματική μορφή του πολυωνύμου Legendre τάξης n. 5 μ. (α) >> p=@() p = @() >> p=@().5*.^-.5 p = @().5*.^-.5 >> p=@().5*.^-.5* p = @().5*.^-.5*

>> p4=@() 4.75*.^4-.75*.^+.75 p4 = @() 4.75*.^4-.75*.^+.75 >> subplot(,,); ezplot(p); ylabel('p_()'); >> ais([-.5.5 -.5.5]) >> subplot(,,); ezplot(p); ylabel('p_()'); >> ais([-.5.5 -.5.5]) >> subplot(,,); ezplot(p); ylabel('p_()'); >> ais([-.5.5 -.5.5]) >> subplot(,,4); ezplot(p4); ylabel('p_4()'); >> ais([-.5.5 -.5.5]) >> set(gcf,'color','w') (β) >> p=[]; >> p=[ ]; >> p=[.5 -.5]; >> p=[.5 -.5 ]; >> p4=[4.75 -.75.75]; (γ) Γράψαμε το πιο κάτω αναδρομικό m-file: function lp=vecleg(n) % VECLEG % Finds the vector representation of the nth % Legendre polynomial % P_= % P_= [ ] and % n P_n = (n-) P_(n-) - (n-) P_(n-), n=,,... % if n< lp=; elseif n== lp=[ ]; else lp=( (*n-)* conv([ ],vecleg(n-))-(n-)*[ vecleg(n-)] )/n; end % End of VECLEG το οποίο δίνει τα πιο κάτω αποτελέσματα: >> vecleg() >> vecleg() >> vecleg().5 -.5 >> vecleg().5 -.5 >> vecleg(4) 4.75 -.75.75 >> vecleg(5) 7.875-8.75.875 >> vecleg() 4.475-9.875.55 -.5

Πρόβλημα (α) Ποια αποτελέσματα δίνει το πιο κάτω αναδρομικό m-file function f=fibnum(n) %FIBONACCI % It finds the nth Fibonacci number if n<= f=; else f=fibnum(n-)+fibnum(n-); end % End of FIBNUM για n=,,,, 4, 5 και ; μ. (β) Τι υπολογίζει το fibnum.m; μ. (γ) Γράψτε ένα m-file με το όνομα fibonacci.m που θα κάνει ακριβώς ότι και το fibnum.m αλλά με τη χρήση βρόχου for. 5 μ. (α) >> for i=:, fibnum(i), end 5 8 (β) Υπολογίζει την ακολουθία Fibonacci (γ) f =, f =, f = f + f, k =,, k k k function fk=fibonacci(n) %FIBONACCI % It finds the nth Fibonacci number f=zeros(n,); f()=; f()=; if n<= fk=; elseif n== fk=; else for k=:n f(k)=f(k-)+f(k-); end fk=f(k); end % End of FIBONACCI

Πρόβλημα 7 Ο Θυμαρίδας από την Πάρο (c. 4-5 π.χ) είναι γνωστός για τη μέθοδό του για την επίλυση γραμμικών συστημάτων που είναι γνωστή ως απάνθημα (άνθος) του Θυμαρίδα (bloom of Thymaridas). Για το n n σύστημα + n = m + n = m () n + n = mn + + + + = s n με n>, ο Θυμαρίδας βρήκε ότι m+ m + + mn s n = () n Το σύστημα () γράφεται στη μορφή Τ=b όπου m m m T = και b = () m n s (α) Γράψτε ένα m-file με το όνομα thymarid.m, με μεταβλητή εισόδου το n και μεταβλητή εξόδου τον n n πίνακα Τ. 5 μ. (β) Γράψτε ένα m-file με όνομα afterblossom.m που θα επιλύει το σύστημα T=b έχοντας ως μεταβλητή εισόδου το διάνυσμα b και μεταβλητή εξόδου τη λύση του συστήματος. Το πρόγραμμα δεν πρέπει να χρησιμοποιεί την επιλογή =T\b ούτε την =inv(t)*b Θα ελέγχει επίσης κατά πόσο n> και αν όχι θα σταματά γράφοντας κατάλληλο μήνυμα λάθους. μ. (α) To function m-file είναι το εξής: function A=thymarid(n) % THYMARID % Constructs Thymaridas' nn matri A=[eye(n-), ones(n-,); ones(,n)]; % End of THYMARID Ακολουθούν παραδείγματα αποτελεσμάτων του thymarid.m: n >> thymarid(5) 4

>> >> thymarid(7) (β) Γράψαμε το ακόλουθο m-file: function =afterblossom(b) % AFTERBLOSSOM % Solves Thymaridas' system T=b % where T is the matri of Thymaridas using % back substitution. % n=ma(size(b)); if n<= error('the size of b should >!') end =zeros(n,); (n)= (sum(b(:n-))-b(n) )/(n-); for i=n-:-: (i)=b(i)-(n); end % End of AFTERBLOSSOM Ακολουθεί ένα αντιπροσωπευτικό παράδειγμα: >> format rat >> afterblossom( (:8)' ) -7/ -4/ -/ / 5/ 8/ / / Θα επαληθεύσουμε το αποτέλεσμά μας: >> =thymarid(8)\(:8)' = -7/ -4/ -/ / 5/ 8/ / / 5