9 η ΕΝΟΤΗΤΑ Συμβολικές πράξεις, ολοκληρώματα, παράγωγοι, διαφορικές εξισώσεις

Σχετικά έγγραφα
3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Μαθηματικά και Φυσική με Υπολογιστές

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

Θεωρία Πιθανοτήτων & Στατιστική

ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Λογισμός ΙΙ. Χρήστος Θ. Αναστασίου Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

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

5 η ΕΝΟΤΗΤΑ Γραφήματα στο MATLAB

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

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

7 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ MATLAB

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

Ηλεκτρονικοί Υπολογιστές I

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

Μαθηματικά. Ενότητα 3: Ολοκληρωτικός Λογισμός Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Γενικά Μαθηματικά Ι. Ενότητα 17: Αριθμητική Ολοκλήρωση, Υπολογισμός Μήκους Καμπύλης Λουκάς Βλάχος Τμήμα Φυσικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Γενικά Μαθηματικά ΙΙ

7 η ΕΝΟΤΗΤΑ Δομές επανάληψης (συνέχεια) Εντολές εισόδου/εξόδου (συνέχεια)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 3: Αποκατάσταση Εικόνας.

Μαθηματική Ανάλυση Ι

Μαθηματικά. Ενότητα 3: Εξισώσεις και Ανισώσεις 1 ου βαθμού. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

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

Συστήματα Αυτομάτου Ελέγχου II

6 η ΕΝΟΤΗΤΑ Δομές επανάληψης

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Μαθηματική Ανάλυση ΙI

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Γενικά Μαθηματικά Ι. Ενότητα 5: Παράγωγος Πεπλεγμένης Συνάρτησης, Κατασκευή Διαφορικής Εξίσωσης. Λουκάς Βλάχος Τμήμα Φυσικής

ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ. Λογισμός 4. Ενότητα 5: Το Θεώρημα του Fubini. Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών

8 η ΕΝΟΤΗΤΑ Συμβολοσειρές Δομές

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

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

Μαθηματικά και Φυσική με Υπολογιστές

Παρεμβολή πραγματικού χρόνου σε συστήματα CNC

Αυτόματος Έλεγχος. Ενότητα 4 η : Πρότυπα μεταβλητών κατάστασης. Παναγιώτης Σεφερλής. Εργαστήριο Δυναμικής Μηχανών Τμήμα Μηχανολόγων Μηχανικών

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

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

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

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

Βέλτιστος Έλεγχος Συστημάτων

Θεωρία Μέτρου και ολοκλήρωσης Ασκήσεις

Θεωρία Πιθανοτήτων & Στατιστική

Αριθμητική Ανάλυση. Ενότητα 1: Εισαγωγή Βασικές Έννοιες. Φραγκίσκος Κουτελιέρης Πολυτεχνική Σχολή Τμήμα Χημικών Μηχανικών

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

Ιόνιο Πανεπιστήμιο - Τμήμα Πληροφορικής

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

Γενικά Μαθηματικά Ι. Ενότητα 13: Ακτίνα Σύγκλισης, Αριθμητική Ολοκλήρωση, Ολοκλήρωση Κατά Παράγοντες. Λουκάς Βλάχος Τμήμα Φυσικής

Θερμοδυναμική - Εργαστήριο

Μαθηματική Ανάλυση ΙI

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Μαθηματικά. Ενότητα 6: Ασκήσεις Ορίων Συνάρτησης. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα

Μοντέρνα Θεωρία Ελέγχου

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Θεωρία Πιθανοτήτων & Στατιστική

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 2 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

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

Μαθηματική Ανάλυση ΙI

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Διδάσκων: Νίκος Λαγαρός

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

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

Εισαγωγή στον επιστημονικό προγραμματισμό 1 o Μάθημα

Ιόνιο Πανεπιστήμιο - Τμήμα Πληροφορικής

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Ενότητα 2 η : ΠΕΡΙΓΡΑΦΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΑΘΗΜΑΤΙΚΑ ΜΟΝΤΕΛΑ

Ηλεκτρονικοί Υπολογιστές ΙΙ

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

ΘΕΡΜΟΔΥΝΑΜΙΚΗ Ι. Ενότητα 2: Θερμοδυναμικές συναρτήσεις. Σογομών Μπογοσιάν Πολυτεχνική Σχολή Τμήμα Χημικών Μηχανικών

Αυτοματοποιημένη χαρτογραφία

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

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

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΦΥΣΙΚΟΧΗΜΕΙΑ ΙΙ

Βέλτιστος Έλεγχος Συστημάτων

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Διαδικαστικός Προγραμματισμός

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Γενικά Μαθηματικά Ι. Ενότητα 14: Ολοκλήρωση Κατά Παράγοντες, Ολοκλήρωση Ρητών Συναρτήσεων Λουκάς Βλάχος Τμήμα Φυσικής

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

Συστήματα Αυτόματου Ελέγχου

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

Γενικά Μαθηματικά Ι. Ενότητα 1: Συναρτήσεις και Γραφικές Παραστάσεις. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Transcript:

ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 9 η ΕΝΟΤΗΤΑ Συμβολικές πράξεις, ολοκληρώματα, παράγωγοι, διαφορικές εξισώσεις Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες Χρήσης Creative Commons. για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. 132

Περιεχόμενα 1) Σύμβολα και συμβολικές πράξεις 2) Συμβολικά ολοκληρώματα 3) Συμβολικές παραγωγίσεις 4) Συμβολική επίλυση διαφορικών εξισώσεων 5) Εφαρμογές 133

Σύμβολα και συμβολικές πράξεις Στην άλγεβρα ισχύει: (1 + x)(1 + y) = x + y + xy + 1 Στο Matlab όμως (command window): >> (1 + x)*(1 + y) Undefined function or variable 'x'. Δίνοντας τιμές στις μεταβλητές x, y δίνει αριθμητικό (όχι αλγεβρικό) αποτέλεσμα: >> x = 10; y = 100; (1 + x)*(1 + y) 1111 Οι μεταβλητές x, y πρέπει να δηλωθούν ως σύμβολα (συμβολικές μεταβλητές): >> clear; x = sym('x'); y = sym('y'); (1 + x)*(1 + y) Ans = (x + 1)*(y + 1) 134

Σύμβολα και συμβολικές πράξεις (συνέχεια) Τα σύμβολα δεν έχουν κάποια αριθμητική τιμή: >> x x = x Πράξεις μεταξύ συμβόλων δίνει αποτέλεσμα που είναι επίσης σύμβολο: >> syms x y; p=(1+x)*(1+y); p p = (x + 1)*(y + 1) (η εντολή syms x y; είναι συντομογραφία των εντολών x=sym('x'); y=sym('y'); Το Matlab δίνει το αποτέλεσμα απλοποιημένα (με λιγότερους όρους). Για να κάνει τις (συμβολικές) πράξεις: >> expand(p) x + y + x*y + 1 135

Σύμβολα και συμβολικές πράξεις (συνέχεια) Μπορεί να οριστεί συμβολική συνάρτηση: >> clear; syms x a f(x);f(x) = (1+x)*(1+a); f f(x) = (a + 1)*(x + 1) Εδώ a είναι μία (συμβολική) σταθερά. Η τιμή της συνάρτησης υπολογίζεται για συμβολικές σταθερές: >> syms w; f(w) (a + 1)*(w + 1) >> f(a) (a + 1)^2 >> expand(f(w+a)) 2*a + w + a*w + a^2 + 1 136

Σύμβολα και συμβολικές πράξεις (συνέχεια) Η τιμή της συνάρτησης υπολογίζεται και για αριθμητικές τιμές. Αν η συνάρτηση εκτός από συμβολικές μεταβλητές περιέχει και συμβολικές σταθερές, το αποτέλεσμα είναι εν γένει συμβολικό: >> f(1) 2*a + 2 >> f(-1) 0 Για αριθμητικό αποτέλεσμα, οι συμβολικές σταθερές πρέπει να αντικατασταθούν από αριθμητικές σταθερές: >> g=subs(f, a, 10); g g(x) = 11*x + 11 >> g(1) 22 137

Σύμβολα και συμβολικές πράξεις (συνέχεια) Μία συμβολική συνάρτηση μπορεί να περιέχει έτοιμες συναρτήσεις του Matlab: >> clear; syms x a f(x); f(x) = a*sin(a*x^2); f f(x) = a*sin(a*x^2) >> f(pi) a*sin(pi^2*a) >> f(0) 0 >> f(f(x)) a*sin(a^3*sin(a*x^2)^2) 138

Σύμβολα και συμβολικές πράξεις (συνέχεια) Στο τελευταίο παράδειγμα το αποτέλεσμα είναι συμβολική παράσταση, όχι συνάρτηση: >> g=f(f(x)); g g = a*sin(a^3*sin(a*x^2)^2) >> g(2) Error using mupadmex Error in MuPAD Command: Index exceeds matrix dimensions. Error in sym/subsref (line 687) B = mupadmex('symobj::subsref',a.s,inds{:}); Για να είναι συνάρτηση πρέπει να οριστεί: >> g(x)=f(f(x)); g g(x) = a*sin(a^3*sin(a*x^2)^2) >> g(2) a*sin(a^3*sin(4*a)^2) 139

Συμβολικά ολοκληρώματα Το αόριστο ολοκλήρωμα μίας συνάρτησης μπορεί να υπολογιστεί συμβολικά (το αποτέλεσμα είναι συνάρτηση): >> clear; syms t f(t); f(t)=t; >> g=int(f);g g(t) = t^2/2 Η μεταβλητή ολοκλήρωσης μπορεί να ορίζεται: >> clear; syms t s f(t, s); f(t, s)=t*s; >> g=int(f, s) g(t, s) = (s^2*t)/2 Ομοίως μπορεί να υπολογιστεί το ορισμένο ολοκλήρωμα (το αποτέλεσμα είναι συνάρτηση μίας μεταβλητής): >> syms a b; >> int(f, s, a, b) ans(t) = -(t*(a^2 - b^2))/2 140

Συμβολικά ολοκληρώματα (συνέχεια) Οι σταθερές ολοκλήρωσης μπορεί να είναι αριθμητικές: >> int(f, s, 5, 10) ans(t) = (75*t)/2 Το διπλό ολοκλήρωμα υπολογίζεται σε δύο στάδια: >> clear; syms t s f(t, s); f(t, s)=t*s; >> g=int(f, t) g(t, s) = (s*t^2)/2 >> int(g, s) ans(t, s) = (s^2*t^2)/4 Ή ακόμα και σε ένα στάδιο: >> clear; syms t s f(t, s); f(t, s)=s*sin(10*t); >> int(int(f, t), s) ans(t, s) = -(s^2*cos(10*t))/20 141

Συμβολικά ολοκληρώματα (συνέχεια) Το ορισμένο διπλό ολοκλήρωμα είναι συμβολική παράσταση (όχι συνάρτηση): >> syms a b; g=int(int(f, t, a, b), s, a, b); >> g g = -((cos(10*a) - cos(10*b))*(a^2 - b^2))/20 Ομοίως το απλό ορισμένο ολοκλήρωμα είναι συμβολική παράσταση: >> clear; syms x a b f(x); f(x)=sin(x); >> g=int(f, x, a, b); g g = cos(a) - cos(b) Το ορισμένο ολοκλήρωμα μπορεί να οριστεί ως συνάρτηση άλλου συμβόλου: >> g(a)=int(f, x, a, b); g g(a) = cos(a) - cos(b) >> g(pi) - cos(b) - 1 142

Συμβολικά ολοκληρώματα (συνέχεια) Μερικά δύσκολα ολοκληρώματα υπολογίζονται: >> clear; syms x f(x); f(x)=exp(-x^2); >> int(f, x, 0, x) (pi^(1/2)*erf(x))/2 Μερικά όχι: >> clear; syms x f(x); f(x)=exp(sin(x)); >> int(f, x, 0, x) int(exp(sin(x)), x, 0, x) Η αριθμητική ολοκλήρωση υπολογίζεται πάντα: >> x=2:0.1:10; y=exp(sin(x)); trapz(x, y) 10.3679 143

Συμβολικές παραγωγίσεις Η παράγωγος μίας συνάρτησης μπορεί να υπολογιστεί συμβολικά (το αποτέλεσμα είναι συνάρτηση): >> clear; syms t a f(t); f(t)=sin(a*t); >> g=diff(f); g g(t) = a*cos(a*t) Η μεταβλητή ως προς την οποία γίνεται η παραγώγιση μπορεί να ορίζεται: >> clear; syms t s a f(t, s); f(t, s)=s^2*sin(a*t); >> diff(f, t) ans(t, s) = a*s^2*cos(a*t) >> diff(f, s) ans(t, s) = 2*s*sin(a*t) 144

Συμβολικές παραγωγίσεις (συνέχεια) Η δεύτερη, τρίτη κλπ παράγωγος υπολογίζεται ορίζοντας το βαθμό παραγώγισης: >> diff(f, s, 2) ans(t, s) = 2*sin(a*t) Προσοχή: η συνάρτηση diff υπολογίζει διαφορές (και όχι παραγώγους) σε μη συμβολικά ορίσματα: clear; x=[1 3 6 10]; >> diff(x) 2 3 4 Προσεγιστικές αριθμητικές τιμές της παραγώγου υπολογίζονται από το script: >> H=0.001; % Μικρό βήμα >> x=0:h:2*pi; >> y=sin(x); % Αριθμητικές τιμές της συνάρτησης >> dy=diff(y)/h; % Διαφορές/βήμα -> παράγωγος >> n = length(dy); % Ένα λιγότερο από το y >> plot(x, y, x(1:n), dy); 145

Συμβολική επίλυση διαφορικών εξισώσεων Η επίλυση διαφορικών εξισώσεων μπορεί να γίνει συμβολικά (το αποτέλεσμα είναι συμβολική παράσταση, όχι συνάρτηση): >> clear; syms x a y(x); >> dy=diff(y, x); >> g=dsolve(dy==a*y); g g = C3*exp(a*x) Μπορεί να δοθεί αρχική συνθήκη (εδώ εξαναγκάζουμε το αποτέλεσμα σε συνάρτηση): >> clear; syms x a b y(x); >> dy=diff(y, x); >> g(x)=dsolve(dy==a*y, y(0)==b); g g(x) = b*exp(a*x) Η αρχική συνθήκη μπορεί να αναφέρεται στην παράγωγο: >> g(x)=dsolve(dy==a*y, dy(0)==b); g g(x) = (b*exp(a*x))/a 146

Συμβολική επίλυση διαφορικών εξισώσεων (συνέχεια) Η διαφορική εξίσωση (και η αρχική συνθήκη) μπορεί να δοθεί σε πεπλεγμένη μορφή: >> clear; syms t a y(t); dy=diff(y, t); >> g(t) = dsolve(dy+a*t==1, y(0)+dy(0)==0); g g(t) = t - (a*t^2)/2-1 Επίλυση διαφορικών εξισώσεων δευτέρου βαθμού: >> clear; syms t a b x(t); ddx=diff(x, t, 2); >> g(t)=dsolve(ddx==a+b*t); g g(t) = (b*t^3)/6 + (a*t^2)/2 + C2*t + C3 Επίλυση διαφορικών εξισώσεων δευτέρου βαθμού με αρχικές συνθήκες: >> clear; syms t a b x0 v0 x(t); >> dx = diff(x, t); ddx=diff(x, t, 2); >> g(t) = dsolve(ddx==a+b*t, x(0)==x0, dx(0)==v0); g g(t) = (b*t^3)/6 + (a*t^2)/2 + v0*t + x0 147

Συμβολική επίλυση διαφορικών εξισώσεων (συνέχεια) Μια (μη γραμμική) Δ.Ε. μπορεί να έχει πολλές λύσεις. Οι λύσεις επιστρέφονται ως πίνακας συμβόλων. Τα σύμβολα μπορούν να ανατεθούν μετά σε (συμβολικές) συναρτήσεις: >> clear; syms t y(t); dy=diff(y, t); >> A=dsolve((dy+y)^2==1); A A = C22*exp(-t) + 1 C24*exp(-t) - 1 Δεν επιλύονται συμβολικά όλες οι διαφορικές εξισώσεις: >> f(t)=a(1); f f(t) = C22*exp(-t) + 1 >> g(t)=a(2); g g(t) = C24*exp(-t) - 1 >> clear; >> syms t y(t); >> ddy = diff(y, t, 2); >> dsolve(ddy == sqrt(y*t)) Warning: Explicit solution could not be found. > In dsolve at 197 148

Αριθμητική επίλυση διαφορικών εξισώσεων Επιλύονται Δ.Ε. της μορφής y = f(t, y) για t μεταξύ t 1 και t 2 και με αρχική συνθήκη y(t 1 ) = c. Η συνάρτηση f(t, y) πρέπει να επιστρέφει την παράγωγο της y(t) για χρόνο ίσο με t, με δεδομένο τον χρόνο t και την τιμή της y(t) σε αυτόν το χρόνο. Η εντολή συντάσσεται: [T, Y] = ode45(@f, [t1 t2], c) όπου T είναι πίνακας με του χρόνους (μεταξύ t 1 και t 2 ) που υπολογίστηκε η συνάρτηση y(t) και Y είναι πίνακας με τις τιμές της y(t) σε αυτούς τους χρόνους. 149

Αριθμητική επίλυση διαφορικών εξισώσεων (συνέχεια) Παράδειγμα: επίλυση της y = 0.5y στο διάστημα t = 0 εως 2 για y(0) = 1 (η αναλυτική λύση είναι y(t) = exp(0.5t)): function dy = f(t, y) dy = 0.5*y; end Script: >> [T, Y] = ode45(@f, [0 2], 1); >> Y2 = exp(0.5*t); >> plot(t, Y2, T, Y, 'ro'); 150

Αριθμητική επίλυση διαφορικών εξισώσεων 2 ου βαθμού Η επίλυση Δ.Ε. δευτέρου βαθμού y = f(t, y, y ) και με αρχικές συνθήκες y(t 1 ) = c 1, y (t 1 ) = c 2, γίνεται έμμεσα ορίζοντας βοηθητικές συναρτήσεις: y 1 (t) = y(t) y 1 = f 1 (t, y 1, y 2 ) = y 2 y 2 (t) = y'(t) y 2 = f 2 (t, y 1, y 2 ) = f(t, y 1, y 2 ) Στο Matlab πρέπει να συνταχθεί συνάρτηση F η οποία με δεδομένα το χρόνο t και ένα μονόστηλο πίνακα που αποτελείται από τιμές των συναρτήσεων y 1, y 2 για το χρόνο t, να επιστρέφει μονόστηλο πίνακα που αποτελείται από τις παραγώγους y 1, y 2 για το χρόνο t. Η εντολή συντάσσεται: [T, Y] = ode45(@f, [t1 t2], C) όπου T είναι μονόστηλος πίνακας με τους χρόνους (μεταξύ t 1 και t 2 ) που υπολογίστηκαν οι συναρτήσεις y 1 (t), y 2 (t), T είναι δίστηλος πίνακας με τις τιμές των y 1 (t), y 2 (t) σε αυτούς τους χρόνους και C είναι μονόστηλος πίνακας με τις σταθερές c 1, c 2. 151

Αριθμητική επίλυση επίλυση διαφορικών εξισώσεων 2 ου βαθμού (συνέχεια) Παράδειγμα: επίλυση της y'' = -y στο διάστημα t = 0 έως 10 για: y(0) = 0, y'(0) = 1 (η αναλυτική λύση είναι y(t) = sin(t)). function DY = F(t, Y) DY = [Y(2) -Y(1)]; DY = transpose(dy); end Script: >> [T, Y] = ode45(@f, [0 10]', [0 1]'); >> plot(t, Y); 152

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα Πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοιχτά Ακαδημαϊκά Μαθήματα Ε.Μ.Π.» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση. 153