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

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

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

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

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

7 ΑΛΓΕΒΡΑ ΜΗΤΡΩΝ. 7.2 ΜΗΤΡΕΣ ΕΙΔΙΚΗΣ ΜΟΡΦΗΣ (Ι)

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

Αριθµητική Γραµµική ΑλγεβραΚεφάλαιο 4. Αριθµητικός Υπολογισµός Ιδιοτιµών 2 Απριλίου και2015 Ιδιοδιανυσµάτων 1 / 50

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

Διαγωνοποίηση μητρών. Στοιχεία Γραμμικής Άλγεβρας

1 ιαδικασία διαγωνιοποίησης

Αριθμητική Ανάλυση 4.5 Ιδιοτιμές και ιδιοδιανύσματα πινάκων. Γ. Παπαευαγγέλου, ΕΔΙΠ, ΤΑΤΜ/ΑΠΘ

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

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

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

Μία απεικόνιση από ένα διανυσματικό χώρο V στον εαυτό του, L : V V την ονομάζουμε γραμμικό τελεστή στο V (ή ενδομορφισμό του V ). Ορισμός. L : V V γρα

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

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

Εισαγωγικές έννοιες. Κατηγορίες προβλημάτων (σε μια διάσταση) Προβλήματα εύρεσης μεγίστου. Συμβολισμοί

Εισαγωγή στον Προγραµµατισµό. Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί)

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ (ΗΥ-119)

Ιδιάζουσες τιμές πίνακα. y έχουμε αντίστοιχα τις σχέσεις : Αυτές οι παρατηρήσεις συμβάλλουν στην παραγοντοποίηση ενός πίνακα

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ (Εξ. Ιουνίου - 02/07/08) ΕΠΙΛΕΓΜΕΝΕΣ ΑΠΑΝΤΗΣΕΙΣ

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

Εφαρμοσμένα Μαθηματικά ΙΙ

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

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

12/3/2012. Εργαστήριο Αλγόριθμοι Γραμμικής Βελτιστοποίησης. Lab03 1. Διανυσματοποίηση Βρόχων. Αρχικοποίηση μητρών (preallocating)

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση)

ΤΕΤΥ Εφαρμοσμένα Μαθηματικά 1. Τελεστές και πίνακες. 1. Τελεστές και πίνακες Γενικά. Τι είναι συνάρτηση? Απεικόνιση ενός αριθμού σε έναν άλλο.

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

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

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

Ασκήσεις3 Διαγωνίσιμες Γραμμικές Απεικονίσεις

ΜΕΜ251 Αριθμητική Ανάλυση

Εφαρμοσμένα Μαθηματικά ΙΙ

ΚΕΦ.6:ΤΕΤΡΑΓΩΝΙΚΕΣ ΜΟΡΦΕΣ. ΣΥΜΜΕΤΡΙΚΟΙ ΠΙΝΑΚΕΣ

Παραδείγματα Ιδιοτιμές Ιδιοδιανύσματα

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

ΕΙΣΑΓΩΓΗ ΣΤΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ

2 3x 5x x

Ομογενή Συστήματα Ορισμός Ενα σύστημα λέγεται ομογενές αν όλοι οι σταθεροί όροι του (δηλαδή οι όροι του δεξιού μέλους του συστήματος) είναι μηδέν.

Μήτρες Ειδικές μήτρες. Στοιχεία Γραμμικής Άλγεβρας

b. Για κάθε θετικό ακέραιο m και για κάθε A. , υπάρχουν άπειρα το πλήθος πολυώνυμα ( x) [ x] m και ( A) 0.

Επίκουρος Καθηγητής Παν/µίου Ιωαννίνων. Μαθηµατικά Ι Ακαδ. Έτος /58

ΜΑΣ 371: Αριθμητική Ανάλυση ΙI ΑΣΚΗΣΕΙΣ. 1. Να βρεθεί το πολυώνυμο Lagrange για τα σημεία (0, 1), (1, 2) και (4, 2).

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

= 7. Στο σημείο αυτό θα υπενθυμίσουμε κάποιες βασικές ιδιότητες του μετασχηματισμού Laplace, δηλαδή τις

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

Αριθµητική Ανάλυση. Ενότητα 4 Αριθµητικός Υπολογισµός Ιδιοτιµών και Ιδιοδιανυσµάτων. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

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

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

Μαθηματικά Γ Γυμνασίου

Διανύσµατα στο επίπεδο

ΕΙΣΑΓΩΓΗ ΣΤΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ

Τυπικές χρήσεις της Matlab

Εφαρμοσμένα Μαθηματικά ΙΙ

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 9 ο Εργαστήριο. Απαλοιφή Gauss με μερική οδήγηση - Παρεμβολη

Γραµµική Αλγεβρα. Ενότητα 1 : Εισαγωγή στη Γραµµική Αλγεβρα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

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

Σπιν 1 2. Γενικά. Ŝ και S ˆz γράφονται. ιδιοκαταστάσεις αποτελούν ορθοκανονική βάση στον χώρο των καταστάσεων του σπιν 1 2.

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

Γραμμική Αλγεβρα ΙΙ Διάλεξη 1 Εισαγωγή Χρήστος Κουρουνιώτης Πανεπισ τήμιο Κρήτης 19/2/2014 Χ.Κουρουνιώτης (Παν.Κρήτης) Διάλεξη 1 19/2/ / 13

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

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

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

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

Εφαρμοσμένα Μαθηματικά ΙΙ Τελική Εξέταση 8/6/2017 Διδάσκων: Ι. Λυχναρόπουλος

1 Επανάληψη εννοιών από τον Απειροστικό Λογισμό

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

όπου Η μήτρα ή πίνακας του συστήματος

Επιστημονικοί Υπολογισμοί (ή Υπολογιστική Επιστήμη)

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Προτεινοµενες Ασκησεις - Φυλλαδιο 1

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

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

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Αριθμητική Γραμμική Άλγεβρα (1) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

Ασκήσεις3 Διαγωνισιμότητα Βασικά σημεία Διαγωνίσιμοι πίνακες: o Ορισμός και παραδείγματα.

Αριθµητική Ανάλυση. 27 Οκτωβρίου Αριθµητική Ανάλυση 27 Οκτωβρίου / 72

!q j. = T ji Kάθε πίνακας µπορεί να γραφεί σαν άθροισµα ενός συµµετρικού και ενός αντι-συµµετρικού πίνακα

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

Θέματα Προγραμματισμού Η/Υ

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

ΑΛΓΕΒΡΑ ΠΙΝΑΚΩΝ ή ΜΗΤΡΩΝ

Ένας πρώτος τρόπος εύρεσης των διαστάσεων ενός πίνακα στο. Matlab είναι με την εντολή size(όνομα πίνακα) και πατώντας. enter ( )

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

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 4 o Φροντιστήριο

Επιστηµονικοί Υπολογισµοί (Αρ. Γρ. Αλγεβρα)Επαναληπτικές µέθοδοι και 31 Μαρτίου Ηµι-Επαναληπτικές Μέθοδο / 17

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

Εφαρμοσμένα Μαθηματικά ΙΙ

Στοχαστικά Σήματα και Τηλεπικοινωνιές

Στοχαστικά Σήµατα και Εφαρµογές

f(t) = (1 t)a + tb. f(n) =

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

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

Φυσική για Μηχανικούς

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

ΠΛΗ 12 - Ιδιοτιμές και ιδιοδιανύσματα

Μετασχηματισμοί στον R 2 Μπορούν να παρασταθούν (και να υλοποιηθούν) με πολλαπλασιασμό πινάκων Ο πολλαπλασιασμός Ax μπορεί να ειδωθεί σαν μετασχηματισ

Transcript:

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

Βασικές Συναρτήσεις της Matlab Γραμμικοί δείκτες (Linear indices) Ένας γραμμικός δείκτης επιτρέπει τη μετατροπή του απλού δείκτη (subscript) Α(i,j) σε δείκτη A(k). Αυτό συμβαίνει γιατί η MATLAB μπορεί να χειριστεί έναν πίνακα σαν ένα απλό διάνυσμα στήλη αφού κάθε στήλη μπορεί να εκχωρηθεί στο τέλος της προηγούμενης στήλης. Λέγοντας, linear indexing numbers εννοούμε την αρίθμηση των στοιχείων σε κάθε στήλη του πίνακα από πάνω προς τα κάτω και από αριστερά προς τα δεξιά. Για παράδειγμα, θεωρούμε ένα 3x3 πίνακα. Μπορούμε λοιπόν αντί να αναφερθούμε στο στοιχείο A(2,2) να αναφερθούμε στο A(5), και αντί του A(2,3) στοιχείου να αναφερθούμε στο A(8). Ο γραμμικός δείκτης αλλάζει και εξαρτάται από το μέγεθος του πίνακα. Για παράδειγμα το A(5) θα επιστρέψει διαφορετικό στοιχείο σε έναν 3x3 πίνακα σε σχέση με αυτό που θα επιστρέψει σε έναν 4x4 πίνακα. Οι συναρτήσεις sub2ind και ind2sub είναι χρήσιμες για τις μετατροπές μεταξύ subscripts και linear indices.

Βασικές Συναρτήσεις της Matlab find: Βρίσκει τους δείκτες και τις τιμές των μη μηδενικών στοιχείων. k = find(x) επιστρέφει ένα διάνυσμα το οποίο περιέχει τους γραμμικούς δείκτες κάθε μη μηδενικού στοιχείου του πίνακα X. Παράδειγμα 1: Να βρεθούν οι θέσεις των μη μηδενικών 1 2 στοιχείων του διπλανού πίνακα Χ = 1 1 Απάντηση: 4 k1 = find(x)= [1 5 7 8 9] Παράδειγμα 2: Να χρησιμοποιηθεί ο λογικός τελεστής not στον X ώστε η συνάρτηση να μας επιστρέψει τις θέσεις των μηδενικών στοιχείων Απάντηση: k2 = find(~x)=[2 3 4 6]

Βασικές Συναρτήσεις της Matlab Αν το X είναι ένα διάνυσμα, τότε η find επιστρέφει ένα διάνυσμα ίδιου προσανατολισμού όπως το X. Αν το X είναι ένας πολυδιάστατος πίνακας, τότε η find επιστρέφει ένα διάνυσμα στήλη με τις θέσεις του αποτελέσματος. Αν το X περιέχει μόνο μη μηδενικά στοιχεία ή είναι κενό, τότε η find επιστρέφει έναν κενό πίνακα. Στοιχεία που ικανοποιούν μια συνθήκη Παράδειγμα: Να βρεθούν τα 5 πρώτα στοιχεία τα οποία είναι μικρότερα του 1 στον διπλανό πίνακα Απάντηση: k = find(x<1,5)=[2 3 4 5 7] και X(k)=[5 9 4 2 7] Χ = 16 5 9 4 2 11 7 14 3 1 6 15 13 8 12 1

Βασικές Συναρτήσεις της Matlab Στοιχεία ίσα με συγκεκριμένες τιμές Προκειμένου να βρούμε μια συγκεκριμένη ακέραια τιμή χρησιμοποιούμε τον τελεστή == Παράδειγμα: Να βρεθεί η θέση του στοιχείου 13 στο ακόλουθο 1x1 διάνυσμα περιττών ακεραίων x = 1:2:2=[1 3 5 7 9 11 13 15 17 19] Απάντηση: k = find(x==13)=7 Προκειμένου όμως να βρεθεί μια μη ακέραια τιμή, θα πρέπει να χρησιμοποιηθεί μια τιμή ανεκτικότητας βασισμένη στα δεδομένα μας. Διαφορετικά το αποτέλεσμα μπορεί να είναι ένας κενός πίνακας λόγω των σφαλμάτων στρογγύλευσης. Παράδειγμα: y = :.1:1=[..1.2.3.4.5.6.7.8.9 1.] Απάντηση: Αν γράψουμε k = find(y==.3) θα πάρουμε έναν κενό πίνακα, ενώ αν γράψουμε k = find(abs(y-.3) <.1) το αποτέλεσμα θα είναι 4.

Βασικές Συναρτήσεις της Matlab Εύρεση κάποιων τελευταίων μη μηδενικών στοιχείων Παράδειγμα: Να δημιουργηθεί ένας 6x6 μαγικός τετραγωνικός πίνακας με όλα τα στοιχεία του, που βρίσκονται σε περιττές γραμμές, μηδενικά. Άρα, για X = magic(6); και X(1:2:end) = έχουμε το διπλανό πίνακα: Να βρεθεί η θέση των τελευταίων 4 μη μηδενικών στοιχείων. Απάντηση: k = find(x,4,'last')=[3 32 34 36] 3 Χ = 8 4 32 28 36 7 33 29 21 17 13 23 1 18 25 15 11

Βασικές Συναρτήσεις της Matlab Εύρεση στοιχείων που ικανοποιούν πολλαπλές συνθήκες Παράδειγμα: Να βρεθούν τα πρώτα τρία στοιχεία ενός 4x4 πίνακα τα οποία είναι μεγαλύτερα του και μικρότερα του 1. Να οριστούν δύο έξοδοι για την επιστροφή των κατά γραμμές και κατά στήλες δεικτών στα στοιχεία, δηλ. των i,j. Έστω Χ = 18 8 9 4 3 1 14 3 1 11 6 15 11 3 1 21 Απάντηση: Γράφοντας [row,col] = find(x> & X<1,3), το αποτέλεσμα είναι: row =[2 3 4] και col=[1 1 1] Το πρώτο στοιχείο είναι το X(2,1), δηλαδή το 8.

Βασικές Συναρτήσεις της Matlab Η C = dot(a,b) επιστρέφει το εσωτερικό γινόμενο των Α και B. Αν A και B είναι διανύσματα, τότε αυτά θα πρέπει να έχουν το ίδιο μήκος. Αν A και B είναι πίνακες τότε αυτοί θα πρέπει να έχουν το ίδιο μέγεθος. Σε αυτή τη περίπτωση, η συνάρτηση dot χειρίζεται τους A και B σαν συλλογές διανυσμάτων. Η συνάρτηση υπολογίζει το εσωτερικό γινόμενο των αντίστοιχων διανυσμάτων κατά μήκος της πρώτης διάστασης του πίνακα του οποίου το μέγεθος δεν είναι ίσο με 1. Παράδειγμα 1: Αν A = [4-1 2]; B = [2-2 -1]; τότε C = dot(a,b)=8=a(1)*b(1) + A(2)*B(2) + A(3)*B(3)

Βασικές Συναρτήσεις της Matlab Παράδειγμα 2: A = [1 2 3;4 5 6;7 8 9]; B = [9 8 7;6 5 4;3 2 1]; C = dot(a,b)= 54 57 54 Το αποτέλεσμα, C, περιέχει τρία διαφορετικά εσωτερικά γινόμενα. Η συνάρτηση dot χειρίζεται τις στήλες των A και B σαν διανύσματα και υπολογίζει το εσωτερικό γινόμενο των αντίστοιχων στηλών. Έτσι, για παράδειγμα, C(1) = 54 είναι το εσωτερικό γινόμενο της A(:,1) με την B(:,1).

Βασικές Συναρτήσεις της Matlab Η C = dot(a,b,dim) εκτιμά το εσωτερικό γινόμενο των A και B κατά μήκος της διάστασης dim. Η dim είσοδος είναι ένας θετικός βαθμωτός ακέραιος. Θεωρούμε δύο πίνακας A και B διάστασης 2: Η dot(a,b,1) χειρίζεται τις στήλες των A και B σαν διανύσματα και επιστρέφει το εσωτερικό γινόμενο των αντίστοιχων στηλών. Η dot(a,b,2) χειρίζεται τις στήλες των A και B σαν διανύσματα και επιστρέφει το εσωτερικό γινόμενο των αντίστοιχων γραμμών.

Βασικές Συναρτήσεις της Matlab Παράδειγμα: A = [1 2 3;4 5 6;7 8 9]; B = [9 8 7;6 5 4;3 2 1]; D = dot(a,b,2)= 46 73 46 Σε αυτή την περίπτωση, D(1) = 46 είναι το εσωτερικό γινόμενο του A(1,:) με το B(1,:).

Η τροποποιημένη μέθοδος των δυνάμεων Η μέθοδος αυτή υπολογίζει τη μεγαλύτερη κατά μέτρο ιδιοτιμή nxn ενός τετραγωνικού πίνακα Α C και το αντίστοιχο ιδιοδιάνυσμα. Στη συνέχεια δίνεται η συνάρτηση eig_power.m που υλοποιεί τη μέθοδο των δυνάμεων για την προσέγγιση της μεγαλύτερης κατά μέτρο ιδιοτιμής και του αντίστοιχου ιδιοδιανύσματος ενός πίνακα Α.

Η τροποποιημένη μέθοδος των δυνάμεων function [lambda,znew] = eig_power(a,y,tol,maxiter) % Συνάρτηση για την προσέγγιση της μεγαλύτερης κατά μέτρο ιδιοτιμής και του αντίστοιχου ιδιοδιανύσματος ενός πίνακα Α. lambda=; % Εύρεση ακέραιου p τέτοιου ώστε yp =max yi, i=1,...,n p=min(find (abs(y)==max(abs(y)))); % Βρίσκει τη θέση ji disp('p'); disp(p); pp=norm(y, Inf);% Βρίσκει τη norm του άπειρον. disp('pp'); disp(pp); z=y/y(p); % Το ιδιοδιάνυσμα disp('z'); disp(z); znew=z;

Η τροποποιημένη μέθοδος των δυνάμεων for i=1:maxiter disp( Επανάληψη:'); disp(i); ynew=a*znew; disp('ynew'); disp(ynew); %Βήμα 5.1 pp=norm(ynew, Inf); disp('pp'); disp(pp); % Εύρεση norm του άπειρον lambda=ynew(p); disp('lambda'); disp(lambda); % Βήμα 5.2 p=min(find (abs(ynew)==max(abs(ynew)))); disp('p'); disp(p); % Βήμα 5.4 znew=ynew/ynew(p); disp('znew');disp(znew); %Βήμα 5.5 disp(' lambda-lambda '); disp(abs(lambda-lambda)); if abs(lambda-lambda)<tol disp('lambda');disp(lambda); disp('z(znew)');disp(znew); return; end; lambda=lambda; disp('lambda'); disp(lambda); end;%for if abs(lambda-lambda)>=tol s=sprintf( Όχι σύγκλιση μετά από %d, επαναλήψεις', maxiter); disp(s); end;

Η τροποποιημένη μέθοδος των δυνάμεων Στη συνέχεια δίνεται το script σε MATLAB που καλεί τη συνάρτηση που υλοποιεί τη μέθοδο των δυνάμεων για την εύρεση της μεγαλύτερης κατά μέτρο ιδιοτιμής και του αντίστοιχου ιδιοδιανύσματος του πίνακα Α (main_power_method.m): A=[-2-2 3; -1-1 6; 1-2 -9]; disp('a'); disp(a); n=3;nn=3; [n nn]=size(a); y=[1 ]'; disp('y'); disp(y); nz=1;n1=3; [n1 nz]=size(y); maxiter=1; tol=.13; %1e-8;

Η τροποποιημένη μέθοδος των δυνάμεων if (n~=nn) disp( Λάθος της μεθόδου δυνάμεων: Ο πίνακας Α πρέπει να είναι τετραγωνικός');return; elseif (n~=n1) disp( Λάθος της μεθόδου δυνάμεων: Οι διαστάσεις του πίνακα Α και του διανύσματος y δεν είναι συμβατές');return; end; %Εύρεση ιδιοτιμών του Α με χρήση της eig idiotimes=eig(a); disp('idiotimes tou A'); disp(idiotimes); % προσέγγιση της μεγαλύτερης κατά μέτρο ιδιοτιμής και του αντίστοιχου ιδιοδιανύσματος. [lambda_max,zmax] = eig_power(a,y,tol,maxiter)

Η τροποποιημένη μέθοδος των δυνάμεων Αποτελέσματα από την εκτέλεση του προγράμματος. A -2-2 3-1 -1 6 Επανάληψη: 1 1-2 -9 p=1 %Εύρεση ακέραιου p pp=1=max{ 1,, } y 1 lambda= tol=.13 Ιδιοτιμές του A 3. -12. -3. z=[1 ] =z () ynew=[-2 1 1] =y (1) pp=1=max{ -2, -1, 1 } lambda=-2=λ 1 lambda-lambda =2>tol znew=[.2 1-1] =z (1)

Η τροποποιημένη μέθοδος των δυνάμεων Επανάληψη: 2 p=2 %Εύρεση ακέραιου p ynew=[-5.4-9 9] =y (2) pp=9=max{ -5.4, -9, 9 } lambda=-9=λ 2 lambda-lambda =7>tol znew=[.6 1-1] =z (2) Επανάληψη: 3 p=2 %Εύρεση ακέραιου p ynew=[-6.2-13 13] =y (3) pp=13=max{ -6.2, -13, 13 } lambda=-13=λ 3 lambda-lambda =4>tol znew=[.4769 1-1] =z (3)

Η τροποποιημένη μέθοδος των δυνάμεων Επανάληψη: 4 p=2 %Εύρεση ακέραιου p ynew=[-5.9538-11.7632 11.7632] =y (4) pp=11.7692 =max{ -5.9538, -11.763213, 11.7632 } lambda=-11.7692=λ 4 lambda-lambda =1.238>tol znew=[.559 1-1] =z (4) Επανάληψη:5 p=2 %Εύρεση ακέραιου p ynew=[-6.118-12.588 12.588] =y (5) pp=12.588 =max{ -6.118, -12.588, 12.588 } lambda=-12.588=λ 4 lambda-lambda =.2896>tol znew=[.4985 1-1] =z (5)

Η τροποποιημένη μέθοδος των δυνάμεων Επανάληψη: 6 p=2 %Εύρεση ακέραιου p ynew=[-5.9971-11.9854 11.9854] =y (6) pp=11.9854 =max{ -5.9971, -11.9854, 11.9854 } lambda=-11.9854=λ 5 lambda-lambda =.735<tol znew=[.54 1-1] =z (6) Συμπέρασμα Η προσέγγιση της μεγαλύτερης ιδιοτιμής είναι η: lambda=-11.9854 Και το αντίστοιχο ιδιοδιάνυσμα είναι το: znew=[.54 1-1]

Η μέθοδος των πηλίκων του Rayleigh Στην περίπτωση που ο πίνακας Α είναι πραγματικός και συμμετρικός, τότε είναι δυνατόν να επιταχυνθεί η σύγκλιση προς τη μεγαλύτερη κατά απόλυτη τιμή ιδιοτιμή χρησιμοποιώντας τη μέθοδο των πηλίκων του Rayleigh. Στη συνέχεια δίνεται η συνάρτηση rayleigh.m που υλοποιεί τη μέθοδο των πηλίκων του Rayleigh για την προσέγγιση της μεγαλύτερης κατά μέτρο ιδιοτιμής και του αντίστοιχου ιδιοδιανύσματος ενός πίνακα Α.

Η μέθοδος των πηλίκων του Rayleigh function [lambda,znew] = rayleigh(a,y,tol,maxiter) % Συνάρτηση για τον υπολογισμό της μεγαλύτερης κατά % μέτρο ιδιοτιμής και του αντίστοιχου ιδιοδιανύσματος με % τη μέθοδο των πηλίκων του Rayleigh lambda=; z=y/norm(y); disp('z'); disp(z); znew=z; for i=1:maxiter disp( Επανάληψη');disp(i); ynew=a*znew; disp('ynew');disp(ynew); lambda=dot(znew, ynew); disp('lambda'); disp(lambda);

Η μέθοδος των πηλίκων του Rayleigh if (norm(ynew)==) disp( Ο A έχει ιδιοτιμή, επίλεξε νέο αρχικό διάνυσμα και άρχισε πάλι τη διαδικασία); return; end; znew=ynew/norm(ynew); disp('znew'); disp(znew); disp(' lambda-lambda '); disp(abs(lambda-lambda)); if abs(lambda-lambda)<tol disp('lambda');disp(lambda); disp('z(znew)');disp(znew); return; end; lambda=lambda; disp('lambda'); disp(lambda); end; %for if abs(lambda-lambda)>=tol s=sprintf( Όχι σύγκλιση μετά από %d, επαναλήψεις', maxiter); disp(s); end;

Η μέθοδος των πηλίκων του Rayleigh Στη συνέχεια δίνεται το script σε MATLAB που καλεί τη συνάρτηση που υλοποιεί τη μέθοδο των πηλίκων του Rayleigh για την εύρεση της μεγαλύτερης κατά μέτρο ιδιοτιμής και του αντίστοιχου ιδιοδιανύσματος του πίνακα Α (main_rayleigh.m): A=[3-1 ; -1 2-1; -1 3]; disp('a'); disp(a); n=3; nn=3; [n nn]=size(a); y=[1 1 1]'; disp('y');disp(y); nz=1; n1=3; [n1 nz]=size(y); maxiter=2;% 1; tol=.13;

Η μέθοδος των πηλίκων του Rayleigh if (n~=nn) disp( Λάθος της μεθόδου των πηλίκων Rayleigh. Ο πίνακας πρέπει να είναι τετραγωνικός');return; elseif (n~=n1) disp( Λάθος της μεθόδου των πηλίκων Rayleigh. Οι διαστάσεις του πίνακα Α και του διανύσματος y δεν είναι συμβατές');return; end; % Εύρεση ιδιοτιμών του Α με χρήση της eig idiotimes=eig(a); disp('idiotimes'); disp(idiotimes); % Υπολογισμός της μεγαλύτερης κατά μέτρο ιδιοτιμής και του αντίστοιχου ιδιοδιανύσματος. [lambda_max,zmax] = rayleigh(a,y,tol,maxiter)

Η μέθοδος των πηλίκων του Rayleigh Αποτελέσματα από την εκτέλεση του προγράμματος A y 3-1 -1 2-1 -1 3 1 1 1 Ιδιοτιμές με χρήση της eig. 1. 3. 4. maxiter=1; tol=.13; lambda= Επανάληψη: 1 z=[.5774.5774.5774] =z () ynew=[1.1547 1.1547] =y (1) lambda=1.3333=λ 1 lambda-lambda =1.3333>tol znew=[.771.771] =z (1) Επανάληψη: 2 ynew=[2.1213-1.4142 2.1213] =y (2) lambda=3=λ 2 lambda-lambda =1.6667>tol znew=[.6396 -.4264.6396] =z (2)

Η μέθοδος των πηλίκων του Rayleigh Επανάληψη: 3 ynew=[2.3452-2.132 2.3452] =y (3) lambda=3.991=λ 3 lambda-lambda =.991>tol znew=[.5948 -.547.5948] =z (3) Επανάληψη: 4 ynew=[2.3252-2.2711 2.3252] =y (4) lambda=3.9942=λ 4 lambda-lambda =.851<tol znew=[.5848 -.5683.5818] =z (4) Συμπέρασμα Η προσέγγιση της μεγαλύτερης ιδιοτιμής είναι η: lambda=3.9942 Και το αντίστοιχο ιδιοδιάνυσμα είναι το: znew=[.5848 -.5683.5848]