Έσʐʙ ʐο γραμμικό...
Transcript of Έσʐʙ ʐο γραμμικό...
Έστω το γραμμικό σύστημα:
Το ίδιο σύστημα σε μορφή πινάκων:
35
732
yx
yx
BXA
y
x
3
7
51
32
όπου
A Η μήτρα ή πίνακας του συστήματος
B Η μήτρα ή πίνακας των σταθερών όρων
X Η μήτρα ή πίνακας των αγνώστων του συστήματος
Ο τυχών τετραγωνικός πίνακας διαστάσεων 2x2 έχει αντίστροφο πίνακα ιδίων διαστάσεων, τον αν και μόνο αν ισχύουν οι σχέσεις 1A
2
11 IAAAA
10
012I
22 II
Ο μοναδιαίος πίνακας διαστάσεων 2x2 είναι ο
και έχει την ιδιότητα να αφήνει αναλλοίωτο κατά τον πολλαπλασιασμό κάθε τετραγωνικό πίνακα 2x2
Η λύση του συστήματος, εφ’ όσον η μήτρα του συστήματος έχει όντως αντίστροφο, τον
BAX
BAXI
BAXAABXA
1
1
2
11
A1A
Μοναδιαίος πίνακας για διαστάσεις 3x3 και 4x4 :
nxnnxnnxn nn II
100
010
001
3I
1000
0100
0010
0001
4I
Για οποιονδήποτε τετραγωνικό πίνακα διαστάσεων nxn ισχύει:
Εξ’ ορισμού, ο τυχόν τετραγωνικός πίνακας Α διαστάσεων nxn έχει αντίστροφο όταν:
nIAAAA 11
Ως ορίζουσα ενός τυχόντος 2x2 πίνακα
A
2Dορίζεται ο αριθμός
και συμβολίζεται ως: det(A) ή
Ένας τυχών πίνακας 3x3
333231
232221
131211
A
3231
2221
13
3331
2321
12
3332
2322
113
D
Η ανάπτυξη της ορίζουσάς του ως προς την πρώτη γραμμή:
333231
232221
131211
A
3231
2221
13
3331
2321
12
3332
2322
113
D
ji
ji, )1( α Πρόσημο του
Για έναν τυχόντα 4x4 πίνακα:
44434241
34333231
24232221
14131211
A
Ανάπτυξη ορίζουσας ως προς τη δεύτερη στήλη του πίνακα:
343331
242321
141311
42
444341
242321
141311
32
444341
343331
141311
22
444341
343331
242321
124
D
Σημαντική σημείωση: Ο υπολογισμός της ορίζουσας είναι ανεξάρτητος της γραμμής ή της στήλης ως προς την οποία θα αναπτυχθεί.
ΘΕΩΡΗΜΑ Ένας τετραγωνικός πίνακας έχει αντίστροφο, αν και μόνο αν η ορίζουσά του είναι διάφορη του μηδενός.
Υπενθυμίζεται ότι η ορίζουσα ενός πίνακα είναι βαθμωτό μέγεθος.
Η ορίζουσα τυχόντος τετραγωνικού πίνακα A συμβολίζεται ως det(Α) ή ως
nnnn
n
n
21
22221
11211
Έστω Α ένας τυχόν τετραγωνικός πίνακας π.χ. ο
Τότε η ορίζουσά του υπολογίζεται στο Matlab ως εξής
Έστω ένας τυχών μη τετραγωνικός πίνακας
Εάν η det() δράσει σε μη τετραγωνικό πίνακα, η ροή της εκτέλεσης του προγράμματος διακόπτεται βίαια.
Η σύγκριση
γίνεται σειριακά από αριστερά προς τα δεξιά: πρώτα γίνεται η
και μόνο εάν αυτή ισχύει επιτελείται η
Η αντιστροφή της σειράς των λογικών συνθηκών οδηγεί σε σφάλμα όταν ο πίνακας Α δεν είναι τετραγωνικός
Προτείνεται η χρήση εμφωλεασμένων if όταν η ν+1 συνθήκη απαιτεί την ισχύ της ν-οστής. Εν προκειμένω:
Απαιτείται ιδιαίτερη προσοχή στη στοίχιση των εμφωλεασμένων if
Το αποτέλεσμα της εκτέλεσης υποδηλώνει ορίζουσα διάφορη του μηδενός, ενώ τα Μαθηματικά σαφώς υπαγορεύουν ότι det(N)=0
Η συνάρτηση inv() του Matlab
Υπολογισμός αντιστρόφου πίνακα
Για τον αντίστροφο ενός πίνακα Ισχύουν υποχρεωτικά οι εξής ιδιότητες:
Ο υπολογισμός του αντιστρόφου δεν είναι εφικτός αν ο πίνακας δεν είναι τετραγωνικός
Η εκ παραδρομής εφαρμογή της συνάρτησης inv σε έναν μη-τετραγωνικό πίνακα, διακόπτει βίαια τη ροή του αντίστοιχου προγράμματος.
Λύση γραμμικού συστήματος
Προσοχή! Είναι εντελώς λάθος να γράψει κανείς
Ένα προς επίλυση γραμμικό σύστημα τεσσάρων εξισώσεων με τέσσερις αγνώστους
lzw
zlwk
kwlz
lkwz
75.37.03
68569
5325.4
12397
Παρατηρούμε ότι το σύστημα δεν είναι στην παρούσα μορφή σωστά στοιχειοθετημένο, ώστε να μπορεί να λυθεί άμεσα με κώδικα Matlab
5.37037.0
65968
55.432
12397
lkwz
lkwz
lkwz
lkwz
Αρχικά, αναδιατάσσουμε το σύστημα ώστε να έχει την ακόλουθη μορφή:
BAX
Το αρχικό γραμμικό σύστημα εξισώσεων γράφεται σε μορφή πινάκων ως:
όπου είναι ο πίνακας ή η μήτρα του συστήματος
και η μήτρα των σταθερών όρων αυτού
A
B
7037.0
5968
5.4321
1397
A
5.3
6
5
12
B
Η φορμαλιστική λύση του προηγουμένου συστήματος είναι η
Η υλοποίηση αυτής της λύσης σε κώδικα Matlab είναι η
BAX 1
Για γραμμικά συστήματα μεγάλης τάξης έχουν αναπτυχθεί ειδικές τεχνικές επίλυσης αυτών που μελετώνται στην αριθμητική ανάλυση
Πολυώνυμο μηδενικού βαθμού: σταθερά 0
0
0 axa
Πολυώνυμο 1ου βαθμού: 10
0
1
1
0 axaxaxa
Ως πολυωνυμική συνάρτηση ή απλά ως πολυώνυμο
ορίζεται ο γραμμικός συνδυασμός των δυνάμεων μίας
ανεξάρτητης μεταβλητής, έστω x.
Πολυώνυμο 2ου βαθμού:
Πολυώνυμο nοστου βαθμού:
21
2
0
0
2
1
1
2
0 axaxaxaxaxa
nnn
nn
nnn
nn
axaxaxaxa
xaxaxaxaxa
1
2
2
1
10
01
1
2
2
1
10
...
...
Η συνέχεια μίας συνάρτησης εντός ενός συγκεκριμένου πεδίου ορισμού εντοπίζεται από την μη ύπαρξη κενών ή αλμάτων στη γραφική της παράσταση για αυτό το πεδίο
ορισμού.
Για την πλήρη περιγραφή ενός πολυωνύμου στο Matlab, απαιτείται η κατασκευή ενός πίνακα που περιέχει τους
συντελεστές του πολυωνύμου.
Η σειρά τοποθέτησης των συντελεστών εντός του πίνακα είναι από το μεγιστοβάθμιο μέχρι το σταθερό
όρο. Εάν κάποιος συντελεστής λείπει στη θέση του τοποθετείται το μηδέν.
5
54
5
6
10
41 23 xxx ]4,4[x
]5
54,
5
6,
10
41,1[
Ο πίνακας x του πεδίου ορισμού αποτελείται από
8001 στοιχεία. Για να υψωθούν όλα τα στοιχεία του x στο τετράγωνο
απαιτούνται 8001 πολλαπλασιασμοί. Για να υπολογισθεί το
x.^3=(x.*x).*x απαιτούνται 2*8001 πολλαπλασιασμοί.
Συνολικά απαιτούνται 3*8001 πολλαπλασιασμοί= 24003
πολλαπλασιασμοί.
Βελτιωμένος, από πλευράς πολυπλοκότητας, κώδικας υπολογισμού πολυωνύμου
Ο πίνακας x του πεδίου ορισμού αποτελείται πάλι από
8001 στοιχεία. Για να υψωθούν όλα τα στοιχεία του x
στο τετράγωνο απαιτούνται εκ νέου 8001 πολλαπλασιασμοί.
Δεδομένου του x.^2, για να υπολογισθεί ο x.^3=x.*(x.^2)
απαιτούνται μόνο 8001 πολλαπλασιασμοί.
Συνολικά απαιτούνται 2*8001=16002 δηλαδή 8001 λιγότεροι
πολλαπλασιασμοί.
Το κέρδος από την καλή σύνταξη του κώδικα αυξάνει ραγδαία, όσο αυξάνει ο βαθμός του πολυωνύμου.
Π.χ. για πολυώνυμο 11ου βαθμού και το ίδιο πεδίο ορισμού ο πρώτος τρόπος απαιτεί 528066 πολλαπλασιασμούς
ενώ ο δεύτερος μόνον 168021 πολλαπλασιασμούς.
Το Matlab υπολογίζει τα πολυώνυμα με τη συνάρτηση polyval:
Κατά την εκτέλεση του προγράμματος προέκυψε ότι
polywnymo(6001)=1.7764*10^(-15)
polywnymo(6002)=-0.0056
Επειδή οι ανωτέρω τιμές είναι ετερόσημες, το πολυώνυμο
ως συνεχής συνάρτηση θα μηδενίζεται υποχρεωτικά εντός
του ανοικτού διαστήματος (x(6001),x(6002)) χωρίς να
γνωρίζουμε ακριβώς που. Γι’ αυτό αποδίδουμε την ρίζα
στο άκρο όπου το πολυώνυμο έχει τη μικρότερη απόλυτη
τιμή δηλαδή το x(6001)
Η εγγενής συνάρτηση
roots του Matlab εντοπίζει
τις ίδιες ρίζες.
Στην roots ο χρήστης δεν απαιτείται να δώσει πεδίο ορισμού ενώ αυτή προσφέρει και μιγαδικές ρίζες. Π.χ. Επίλυση του πολυωνύμου: 302953 234 xxxx
Ο πίνακας synartisi έχει τις τιμές οποιασδήποτε συνεχούς συνάρτησης ορισμένης στον πίνακα x που περιέχει διαμέριση
επιθυμητού κλειστού διαστήματος
Το Matlab, όπως και οι περισσότερες γλώσσες προγραμματισμού,
παρέχει τη δυνατότητα δημιουργίας προγραμμάτων, τα οποία
αποθηκεύονται στον δίσκο και όταν καλούνται προσφέρουν
στον χρήστη τον πίνακα synartisi της προηγούμενης διαφάνειας
πρακτικά για οποιοδήποτε πίνακα πεδίου ορισμού.
Τα προγράμματα αυτά ονομάζονται επίσης «συναρτήσεις».