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

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

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

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

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

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

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

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

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

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

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

ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ

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

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

Β ΜΕΡΟΣ: ΕΦΑΡΜΟΓΗ ΤΟΥ MATLAB ΣΤΗΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ

Δ = δπ + υ με υ < δ. (Ταυτότητα της Ευκλείδειας διαίρεσης),

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

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

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

ΑΣΚΗΣΕΙΣ ΣΤΑ ΠΟΛΥΩΝΥΜΑ ΠΟΛΥΩΝΥΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ. β) x 9x. ε) (x 1) 3(x 1) 2(x 1) 0. (2x 1) x 128 0

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

Αριθμητική Ανάλυση & Εφαρμογές

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

4.2 ΔΙΑΙΡΕΣΗ ΠΟΛΥΩΝΥΜΩΝ

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

Α.Τ.Ε.Ι Σερρών Σχολή Τεχνολογικών Εφαρμογών. Τμήμα Μηχανολογίας. Εισαγωγή στο MATLAB ΙΩΑΝΝΗΣ ΜΟΥΣΤΑΚΑΣ. Μηχανικός Πληροφορικής, MSc

4.1. Πολυώνυμα. Η έννοια του πολυωνύμου

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

Κεφάλαιο 6. Αριθμητική παρεμβολή

ΠΟΛΥΩΝΥΜΑ. Λυμένα Παραδείγματα

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

Πολυωνυμική εξίσωση βαθμού ν ονομάζεται κάθε εξίσωση της μορφής α ν x ν +α ν-1 x ν α 1 x+α 0 =0,με α 0,α 1,...

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

ΑΣΚΗΣΕΙΣ ΣΤΑ ΠΟΛΥΩΝΥΜΑ (ΑΡΙΘΜΗΤΙΚΗ ΤΙΜΗ,ΠΡΑΞΕΙΣ,ΙΣΟΤΗΤΑ) P( x) ( 4) x ( 8) x ( 5 6) x 16 είναι το μηδενικό πολυώνυμο.

Μαθηματικά Γ Γυμνασίου. Επαναληπτικές Ασκήσεις στο Κεφάλαιο 1: Μονώνυμα - Πολυώνυμα - Ταυτότητες

1. Το πολυώνυµο P (x) = 3 (x - 1) 2-3x είναι Α. µηδενικού βαθµού Β. πρώτου βαθµού Γ. δευτέρου βαθµού. το µηδενικό πολυώνυµο Ε.

ΠΟΛΥΩΝΥΜΑ. Κεφάλαιο 2ο: Ερωτήσεις του τύπου Σωστό-Λάθος

ΠΟΛΥΩΝΥΜΑ ΠΟΛΥΩΝΥΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

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

Συνέλιξη Κρουστική απόκριση

Πίνακες >>A = [ 1,6; 7, 11]; Ή τον πίνακα >> B = [2,0,1; 1,7,4; 3,0,1]; Πράξεις πινάκων

ΠΟΛΥΩΝΥΜΑ. Κεφάλαιο 2ο: Ερωτήσεις του τύπου Σωστό-Λάθος

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

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

Ανάλυση συστημάτων με χρήση μετασχηματισμού Laplace

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

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

ΣΥΣΤΗΜΑΤΑ. 6.1 ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ (Επαναλήψεις-Συμπληρώσεις)

Ο μαθητής που έχει μελετήσει το κεφάλαιο αυτό θα πρέπει:

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

2.2 ιαίρεση Πολυωνύμων

4.3. ΠΟΛΥΩΝΥΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΚΑΙ ΑΝΙΣΩΣΕΙΣ

Εισαγωγή στο GNU Octave/MATLAB

7. Αν υψώσουμε και τα δύο μέλη μιας εξίσωσης στον κύβο (και γενικά σε οποιαδήποτε περιττή δύναμη), τότε προκύπτει

Κεφάλαιο 4 ο ΠΟΛΥΩΝΥΜΑ-ΠΟΛΥΩΝΥΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

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

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

( ) Ίσες συναρτήσεις. = g, Οι συναρτήσεις f, g λέμε ότι είναι ίσες και συμβολίζουμε f. όταν: Έχουν το ίδιο πεδία ορισμού Α

Matlab. Εισαγωγικές έννοιες. C. C. Katsidis

αριθμούς Βασικές ασκήσεις Βασική θεωρία iii) φυσικοί; ii) ακέραιοι; iii) ρητοί;

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

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

1. Αν α 3 + β 3 + γ 3 = 3αβγ και α + β + γ 0, δείξτε ότι το πολυώνυµο P (x) = (α - β) x 2 + (β - γ) x + γ - α είναι

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

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

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

Αριθμητική Ανάλυση και Εφαρμογές

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

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

1 x m 2. degn = m 1 + m m n. a(m 1 m 2...m k )x m 1

Εφαρμοσμένα Μαθηματικά 3η εργαστηριακή άσκηση

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

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

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

Μαθηματικά Γ Γυμνασίου. Επαναληπτικές Ασκήσεις στο Κεφάλαιο 1: Μονώνυμα - Πολυώνυμα - Ταυτότητες

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

ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ Ενότητα 3: ΣΥΝΕΛΙΞΗ

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

4.1. Πολυώνυμα. Η έννοια του πολυωνύμου

ΜΑΘΗΜΑΤΙΚΑ Γ Γυμνασίου

Α Λ Γ Ε Β Ρ Α Β Λ Υ Κ Ε Ι Ο Υ. ΚΕΦΑΛΑΙΟ 4 ο ΠΟΛΥΩΝΥΜΑ-ΠΟΛΥΩΝΥΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

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

Τάσος Αρβανίτης Σελίδα 1 από 28

lnx ln x ln l x 1. = (0,1) (1,7].

1.7 ΙΑΙΡΕΣΗ ΠΟΛΥΩΝΥΜΩΝ

ΑΛΓΕΒΡΑ Β ΛΥΚΕΙΟΥ ΕΠΙΜΕΛΕΙΑ ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ. ΚΕΦΑΛΑΙΟ 4ο ΠΟΛΥΩΝΥΜΑ ΠΟΛΥΩΝΥΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΕΠΙΜΕΛΕΙΑ: ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ. (2 μονάδες) Δίνονται τα σημεία (-2, -16), (-1, -3), (0, 0), (1, -1) και (2, 0). Υπολογίστε το πολυώνυμο παρεμβολής Newton.

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

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΣΤΑ ΓΕΝΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Α ΜΕΡΟΣ - ΑΛΓΕΒΡΑ. Α. Οι πραγματικοί αριθμοί και οι πράξεις τους

Δηλαδή η ρητή συνάρτηση είναι πηλίκο δύο ακέραιων πολυωνύμων. Επομένως, το ζητούμενο ολοκλήρωμα είναι της μορφής

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

Ασκήσεις. ι) α α ιι) α α ΠΡΟΣΘΕΣΗ - ΑΦΑΙΡΕΣΗ ΡΗΤΩΝ

ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 10: ΕΥΡΕΣΗ ΤΟΠΙΚΩΝ ΑΚΡΟΤΑΤΩΝ

Αριθμητική Ανάλυση και Εφαρμογές

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

2.2 ιαίρεση Πολυωνύμων

Διακριτός Μετασχηματισμός Fourier

ΜΑΘΗΜΑΤΙΚΑ - Γ ΓΥΜΝΑΣΙΟΥ

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

Transcript:

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

Στη MATLAB τα πολυώνυμα αναπαριστώνται από πίνακες που περιέχουν τους συντελεστές τους σε φθίνουσα διάταξη. Για παράδειγμα το πολυώνυμο p(x)=x 2-3x+5 αναπαριστάται από τον πίνακα p = [1, -3, 5 ] Ενώ ο πίνακας q = [ 1, 0, 7, -1, 0 ] παριστάνει το πολυώνυμο q(x)=x 4 +7x 2 -x H εντολή length επιστρέφει το μήκος της μεγαλύτερης διάστασης ενός πίνακα X. Για διανύσματα, το μήκος είναι απλά το πλήθος των στοιχείων. Το μήκος ενός κενού πίνακα είναι το 0. Παράδειγμα 1: X = zeros(3,7); L = length(x)=7 Παράδειγμα 2: v = 5:10= 5 6 7 8 9 10, L = length(v)=6

Η r = roots(p) υπολογίζει όλες τις ρίζες ενός πολυωνύμου όπου p ο πίνακας που περιέχει τους συντελεστές του πολυωνύμου. Παράδειγμα 1: Για τη λύση της εξίσωσης 3x 2-2x-4=0, να δημιουργηθεί ένας πίνακας που να αναπαριστά το πολυώνυμο και στη συνέχεια να βρεθούν οι ρίζες του. Επομένως έχουμε: p = [3-2 -4]; % ο πίνακας r = roots(p) Απάντηση: Οι ρίζες του πολυωνύμου είναι οι: r = 1.5352-0.8685

Παράδειγμα 2: Για τη λύση της εξίσωσης x 4-1=0, να δημιουργηθεί ένας πίνακας που να αναπαριστά το πολυώνυμο και στη συνέχεια να βρεθούν οι ρίζες του. Επομένως έχουμε: p = [1 0 0 0-1];% ο πίνακας r = roots(p) Απάντηση: Οι ρίζες του πολυωνύμου είναι οι: r = -1.0000 + 0.0000i 0.0000 + 1.0000i 0.0000-1.0000i 1.0000 + 0.0000i

Μπορούμε όμως να κάνουμε και την αντίστροφη διαδικασία, δηλαδή να υπολογίσουμε τους συντελεστές ενός πολυωνύμου, του οποίου γνωρίζουμε μόνο τις ρίζες. Σε αυτήν την περίπτωση θα χρησιμοποιήσουμε την εντολή poly(r), όπου r ένας πίνακας που περιέχει τις ρίζες του πολυωνύμου που ψάχνουμε. Έστω για παράδειγμα ότι θέλουμε να βρούμε το πολυώνυμο που έχει για ρίζες τα x = 3 και x = 4. Θα δημιουργήσουμε πρώτα τον πίνακα με τις ρίζες αυτές, ο οποίος θα είναι ο: r = [3 4] ενώ στη συνέχεια θα δώσουμε την εντολή: p = poly(r) η οποία θα μου δώσει τους συντελεστές του πολυωνύμου με τις παραπάνω ρίζες p= 1-7 12 Το πολυώνυμο δηλαδή είναι το x 2-7x+12.

Επίσης με τη συνάρτηση poly μπορούμε να υπολογίσουμε τους συντελεστές του χαρακτηριστικού πολυωνύμου ενός πίνακα Α nxn Παράδειγμα: Έστω A = [1 2 3; 4 5 6; 7 8 0], τότε η p = poly(a) επιστρέφει το διάνυσμα 1.0000-6.0000-72.0000-27.0000, οι τιμές του οποίου είναι οι συντελεστές του χαρακτηριστικού πολυωνύμου det(a-λi)=0. Αν στη συνέχεια χρησιμοποιήσουμε την r=roots(p) θα υπολογίσουμε τις ρίζες του ανωτέρω πολυωνύμου, οι οποίες είναι οι 12.1229-5.7345-0.3884

Για να υπολογίσουμε τις τιμές ενός πολυωνύμου μπορούμε στη Matlab να χρησιμοποιήσουμε την εντολή polyval(p,x), όπου p ο πίνακας που περιέχει τους συντελεστές του πολυωνύμου που μας ενδιαφέρει, και x το σημείο ή τα σημεία για τα οποία θέλουμε να υπολογίσουμε την τιμή του πολυωνύμου. Έστω για παράδειγμα ότι θέλουμε να υπολογίσουμε την τιμή του πολυωνύμου y=3x 3-5x για x = 5. Καταρχήν θα πρέπει να δημιουργήσουμε τον πίνακα με τους συντελεστές του πολυωνύμου, ο οποίος θα είναι της μορφής: p = [3 0-5 0] αφού λείπουν οι όροι δεύτερης και μηδενικής τάξης. Για να υπολογίσουμε τελικά την τιμή που ζητάμε θα πρέπει να δώσουμε την εντολή: y = polyval(p,5) Tο αποτέλεσμα της εντολής αυτής είναι y=350.

Την εντολή polyval μπορούμε να τη χρησιμοποιήσουμε και στην περίπτωση που θέλουμε να υπολογίσουμε ταυτόχρονα τις τιμές ενός πολυωνύμου σε διάφορα σημεία. Έστω για παράδειγμα ότι θέλουμε να υπολογίσουμε τις τιμές του παραπάνω πολυωνύμου στα στοιχεία x=1, x=3, x=7 και x=15. Αρχικά, μπορούμε να εισάγουμε όλες τις τιμές που μας ενδιαφέρουν κατευθείαν στην εντολή y=polyval (p, [1, 3, 7, 15]) όπου τις τιμές που μας ενδιαφέρουν θα τις εισάγουμε μέσα σε αγκύλες. Το αποτέλεσμα θα είναι το: y= -2 66 994 10050 Εναλλακτικά μπορούμε να δημιουργήσουμε έναν πίνακα με τις τιμές που μας ενδιαφέρουν και να εισάγουμε αυτόν στην εντολή polyval, δηλ. x=[1,3, 7, 15] y=polyval(p,x) Το αποτέλεσμα θα είναι το ίδιο.

Η τελευταία αυτή εναλλακτική μας δυνατότητα μας βοηθάει προφανώς στην περίπτωση όπου θέλουμε να σχεδιάσουμε τη γραφική παράσταση ενός πολυωνύμου. Έστω για παράδειγμα ότι θέλουμε να σχεδιάσουμε τη γραφική παράσταση του παραπάνω πολυωνύμου, για τιμές του x από -50 μέχρι 50. Όπως έχουμε αναφέρει ήδη, για να σχεδιάσουμε τη γραφική παράσταση μιας συνάρτησης πρέπει να δώσουμε στο πρόγραμμα δυο πίνακες που να περιέχουν το πεδίο ορισμού (x) και το πεδίο τιμών (y) της. Αρχικά, λοιπόν πρέπει να δημιουργήσουμε έναν πίνακα που να περιέχει το πεδίο ορισμού που μας ενδιαφέρει. Αυτός θα είναι ένας πίνακας της μορφής: x =[-50:1:50] αν υποθέσουμε ότι επιλέγουμε για βήμα το 1. Στη συνέχεια με χρήση των εντολών polyval και plot έχουμε τη γραφική παράσταση.

Έχουμε λοιπόν: p=[3 0-5 0] x= [-50:1:50]; y=polyval(p,x); plot(x,y)

Μέθοδος ελαχίστων τετραγώνων Η εντολή p = polyfit(x,y,n) επιστρέφει κατά φθίνουσα διάταξη τους συντελεστές ενός πολυωνύμου p(x) βαθμού n όπως αυτοί προκύπτουν από την εφαρμογή της μεθόδου ελαχίστων τετραγώνων για τα δεδομένα y. Το μήκος του p είναι n+1. Το πολυώνυμο είναι το p(x)=p 1 x n +p 2 x n 1 +...+p n x+p n+1. Το πρώτο όρισμα x της συνάρτησης polyfit αναπαριστά τα δεδομένα στον άξονα x, το δεύτερο όρισμα y αναπαριστά τα δεδομένα στον άξονα y και τέλος το τρίτο όρισμα n δηλώνει τη τάξη του πολυωνύμου. Παράδειγμα 1: x= [0, 0.3, 0.8, 1.1, 1.6, 2.3] y= [0.5, 0.92, 1.14, 1.25, 1.25, 1.40] p1= polyfit(x,y,1); Αποτέλεσμα: p1= 0.3387 0.7323 Δηλ. y=0.3387*x+0.7323

Παράδειγμα 2: Για x, y του παραδείγματος 1, η p2= polyfit(x,y,2), δίνει αποτέλεσμα έναν πίνακα τριών στοιχείων, τους συντελεστές δηλ. ενός πολυωνύμου βαθμού 2. p2= -0.2113 0.8203 0.5872 Το πολυώνυμο δηλ. είναι το y= -0.2113*x 2 +0.8203*x+0.5872

Σχέση μεταξύ των συναρτήσεων polyfit και polyval Σε σχέση με το παράδειγμα 1 της polyfit έχουμε τα ακόλουθα παραδείγματα: Παράδειγμα 1α: x_interest=1.5; y_interest=polyval(p1, x_interest); Το αποτέλεσμα θα είναι το: y_interest=1.2404=0.3387*(1.5)+0.7323 Δηλαδή με τη χρήση της συνάρτησης polyval πήραμε την τιμή του πολυωνύμου p1 όταν x_interest=1.5.

Παράδειγμα 1β: Το διάνυσμα x_interest δημιουργείται σαν μια ακολουθία αριθμών x_interest=[0: 0.1: 3] δηλ. είναι το x_interest=0, 0.1, 0.2,.,3 και y_interest=polyval(p1,x_interest) δηλ. έχουμε το y_interest=0.3387*(x_interest)+0.7323 και το αποτέλεσμα θα είναι το y_interest= 0.7323, 0.7662, 0.8001,, 1.7484 Συμπέρασμα: Θα πάρουμε δηλαδή την τιμή του πολυωνύμου p1 για κάθε τιμή του x_interest. Η γραφική παράσταση που προκύπτει είναι η:

plot(x_interest, y_interest);

Σε σχέση με το παράδειγμα 2 της polyfit έχουμε τα ακόλουθα παραδείγματα: Παράδειγμα 2α: x_interest=1.5; y_interest=polyval(p2, x_interest); Το αποτέλεσμα θα είναι το: y_interest=1.3425=-0.2113*(1.5) 2 +0.8203*(1.5)+0.5874 Δηλαδή με τη χρήση της συνάρτησης polyval πήραμε την τιμή του πολυωνύμου p2 όταν x_interest=1.5.

Παράδειγμα 2β: Το διάνυσμα x_interest δημιουργείται σαν μια ακολουθία αριθμών x_interest=[0: 0.1: 3] δηλ. είναι το x_interest=0, 0.1, 0.2,.,3 και y_interest=polyval(p2,x_interest) δηλ. έχουμε το y_interest=-0.2113*(x_interest)2+0.8203*(x_interest)+0.5874 και το αποτέλεσμα θα είναι το y_interest= 0.5874, 0.6673, 0.7430,, 1.1469 Συμπέρασμα: Θα πάρουμε δηλαδή την τιμή του πολυωνύμου p2 για κάθε τιμή του x_interest. Η γραφική παράσταση που προκύπτει είναι η:

plot(x_interest, y_interest);

Για τον πολλαπλασιασμό μεταξύ πολυωνύμων θα χρησιμοποιήσουμε την εντολή conv(p1,p2), όπου p1 και p2 τα πολυώνυμα που θέλουμε να πολλαπλασιάσουμε, ενώ για τη διαίρεση μεταξύ πολυωνύμων θα χρησιμοποιήσουμε την εντολή deconv(p1,p2), όπου p1 το πολυώνυμο - διαιρετέος και p2 το πολυώνυμο - διαιρέτης. Τα ονόματα των παραπάνω εντολών προέρχονται από τις αγγλικές λέξεις convolution (συνέλιξη) και deconvolution (αποσυνέλιξη). Έστω για παράδειγμα ότι θέλουμε να πολλαπλασιάσουμε μεταξύ τους τα πολυώνυμα y=2x 2 +5x και y=3x 3 +6. Καταρχήν θα πρέπει να δημιουργήσουμε τους πίνακες με τους συντελεστές τους. Αυτοί θα είναι της μορφής: p1 = [2 5 0] και p2 = [3 0 0 6] Για τον πολλαπλασιασμό των δύο πολυωνύμων θα χρησιμοποιήσουμε τελικά την εντολή: w = conv(p1,p2) Tο αποτέλεσμα θα είναι:

w= 6 15 0 12 30 0 το οποίο αντιστοιχεί στο πολυώνυμο y=6x 5 +15x 4 +12x 2 +30x, το οποίο είναι και το γινόμενο των παραπάνω πολυωνύμων. Παράδειγμα 2: Έστω ότι θέλουμε να διαιρέσουμε το πολυώνυμο y=3x 2 +5x+1 με το πολυώνυμο y=4x+7. Καταρχήν θα δημιουργήσουμε κατά τα γνωστά τους πίνακες με τους συντελεστές τους, οι οποίοι θα είναι δύο πίνακες της μορφής: p1 = [3 5 1] και p2= [4 7] Για τη διαίρεση μεταξύ των δύο πολυωνύμων θα χρησιμοποιήσουμε την εντολή: [q,r] = deconv(p1,p2) Προσοχή: Στην περίπτωση της διαίρεσης πρέπει να χρησιμοποιήσουμε δύο πίνακες για να αποθηκεύσουμε το αποτέλεσμα, έναν για το πηλίκο της διαίρεσης και έναν για το υπόλοιπο αυτής.

Το αποτέλεσμα είναι: q= 0.7500-0.0625 r= 0 0 1.4375 δηλ. ο υπολογιστής μας επιστρέφει ως πηλίκο της διαίρεσης το πολυώνυμο y=0.75x-0.0625 και ως υπόλοιπο της το y = 1.4375.

Πεπερασμένες Διαφορές Υποθέτουμε ότι έχουμε ένα πίνακα τιμών μιας συνάρτησης f(x). Οι πρώτης τάξης προς τα εμπρός διαφορές στο σημείο x n ορίζονται από τις σχέσεις Δf n = f(x n+1 ) f(x n ) = f n+1 f n Στη συνέχεια δίνεται το script divdiff.m που υλοποιεί τον πίνακα των προς τα εμπρός διαφορών με δύο τρόπους: Παράδειγμα: X=[0 1 2 3]; % Τιμές εισόδου για το X Y=[1 2 9 28]; % Τιμές εισόδου για το Y n = length(x); D = zeros(n,n); % Αν ήθελα αρχικοποίηση με κενό, ώστε να μη φαίνονται % τα μηδενικά, θα έγραφα D=[]; D(:,1) = Y'; disp('d'); disp(d);

Πεπερασμένες Διαφορές α τρόπος for j=2:n, for k=j:n, D(k,j) = (D(k,j-1)-D(k-1,j-1)); disp('d'); disp(d); end end Αποτέλεσμα: 1 0 0 0 2 1 0 0 9 7 6 0 28 19 12 6

Πεπερασμένες Διαφορές β τρόπος for i=1:4 D(i,1)=X(i); D(i,2)=Y(i); end for j=3:8 for k=1:n-1 D(k,j) = (D(k+1,j-1)-D(k,j-1)); disp('d'); disp(d); end n=n-1; end Αποτέλεσμα 0 1 1 6 6 1 2 7 12 0 2 9 19 0 0 3 28 0 0 0

Πολυώνυμο παρεμβολής με διηρημένες διαφορές του Newton Μη ισαπέχοντα σημεία Στη συνέχεια δίνεται η συνάρτηση newpoly.m που υλοποιεί τη μέθοδο του πολυωνύμου παρεμβολής με διηρημένες διαφορές του Newton, και βρίσκει την προσεγγιστική τιμή της συνάρτησης f(x)=1+x 3, για x 0 =1.5. function [C,D] = newpoly(x,y) n = length(x); % Δημιουργία πίνακα διηρημένων διαφορών D = zeros(n,n); D(:,1) = Y'; for j=2:n, for k=j:n, D(k,j) = (D(k,j-1)-D(k-1,j-1))/(X(k)-X(k-j+1)); disp('x(k)-x(k-j+1)');disp(x(k)-x(k-j+1)); %το βήμα disp('d'); disp(d); end end

Πολυώνυμο παρεμβολής με διηρημένες διαφορές του Newton Μη ισαπέχοντα σημεία % Προσδιορισμός του πολυωνύμου C = D(n,n); for k=(n-1):-1:1, C = conv(c,poly(x(k))); m = length(c); C(m) = C(m) + D(k,k); disp('c'); disp(c); end a=(diag(d))'; % Υπολογισμός των a i % disp('a'); disp(a); xp=1.5; fp=a(1)+a(2)*xp+a(3)*xp*(xp-1)+a(4)*xp*(xp-1)*(xp-2); disp('fp');disp(fp);

Πολυώνυμο παρεμβολής με διηρημένες διαφορές του Newton Μη ισαπέχοντα σημεία Στη συνέχεια δίνεται το script σε MATLAB που καλεί τη συνάρτηση που υλοποιεί τη μέθοδο του πολυωνύμου παρεμβολής με τις διηρημένες διαφορές του Newton (newton_poly.m): X=[0 1 2 3]; % Τιμές εισόδου του X Y=[1 2 9 28]; % Τιμές εισόδου του Y c=newpoly(x,y);% Εύρεση πολυωνύμου με την παρεμβολή Newton xx=[-3:0.02: 3]; % πεδίο ορισμού του x yy=polyval(c,xx); % τιμή y για κάθε x που ανήκει στο [-3,3] clf plot(xx,yy,'b-',x,y,'*') % γραφική παράσταση πολυωνύμου

Πολυώνυμο παρεμβολής με διηρημένες διαφορές του Newton Μη ισαπέχοντα σημεία X(k)-X(k-j+1) 1 D 1 0 0 0 2 1 0 0 9 0 0 0 28 0 0 0 X(k)-X(k-j+1) 1 D 1 0 0 0 2 1 0 0 9 7 0 0 28 0 0 0 X(k)-X(k-j+1) 1 D 1 0 0 0 2 1 0 0 9 7 0 0 28 19 0 0 X(k)-X(k-j+1) 2 D 1 0 0 0 2 1 0 0 9 7 3 0 28 19 0 0

Πολυώνυμο παρεμβολής με διηρημένες διαφορές του Newton Μη ισαπέχοντα σημεία X(k)-X(k-j+1) 2 D 1 0 0 0 2 1 0 0 9 7 3 0 28 19 6 0 X(k)-X(k-j+1) 3 D 1 0 0 0 2 1 0 0 9 7 3 0 28 19 6 1 Απάντηση: Το πολυώνυμο έχει συντελεστές 1 0 0 1 δηλ. είναι το x 3 +1 Η προσεγγιστική τιμή του στο x 0 =1.5 είναι fp 4.3750

Πολυώνυμο παρεμβολής με διηρημένες διαφορές του Newton Μη ισαπέχοντα σημεία Και η γραφική του παράσταση στο [-3,3] είναι η

Πολυώνυμο παρεμβολής με διηρημένες διαφορές του Newton Μη ισαπέχοντα σημεία Αν X=[1 2 4 5]; Y=[0 2 12 20]; Τότε a 0 2 1 0 p(x)=x 2 -x p(1.5)=3.75 Και η γραφική του παράσταση στο [-5,5] είναι η διπλανή: