ΕΠΙΛΥΣΗ ΤΩΝ ΔΙΑΦΟΡΙΚΩΝ ΕΞΙΣΩΣΕΩΝ με το Maple. B.1 Είσαγωγή των διαφορικών εξισώσεων στο Maple

Σχετικά έγγραφα
Αριθμητική Επίλυση Συνήθων Διαφορίκών Εξισώσεων 3ο Εργαστήριο 27/03/2015 1

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

Συνήθεις Διαφορικές Εξισώσεις Ι Ασκήσεις - 19/10/2017. Ακριβείς Διαφορικές Εξισώσεις-Ολοκληρωτικοί Παράγοντες. Η πρώτης τάξης διαφορική εξίσωση

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

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

Συνήθεις Διαφορικές Εξισώσεις Ι ΣΔΕ Bernoulli, Riccati, Ομογενείς. Διαφορικές Εξισώσεις Bernoulli, Riccati και Ομογενείς

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

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

4.1 Πράξεις με Πολυωνυμικές Εκφράσεις... 66

Γραφήματα οικογένειας παραβολών

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

ΚΕΦΑΛΑΙΟ 1ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 3: ΟΡΙΑ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 10 Μαίου 2010

y 1 (x) f(x) W (y 1, y 2 )(x) dx,

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

1.1 Βασικές Έννοιες των Διαφορικών Εξισώσεων

ΣΥΝΑΡΤΗΣΕΙΣ ΔΥΟ ΜΕΤΑΒΛΗΤΩΝ

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

ΣΥΝΑΡΤΗΣΕΙΣ ΔΥΟ ΜΕΤΑΒΛΗΤΩΝ

ΚΕΦΑΛΑΙΟ 3 Ο 3.2 Η ΕΝΝΟΙΑ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ Η. (Σ) όπου α, β, α, β, είναι οι

f f 2 0 B f f 0 1 B 10.3 Ακρότατα υπό συνθήκες Πολλαπλασιαστές του Lagrange

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

1 Επίλυση Συνήθων ιαφορικών Εξισώσεων

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. 2x 1. είναι Τότε έχουμε: » τον χρησιμοποιούμε κυρίως σε θεωρητικές ασκήσεις.

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

ΣΧΕΔΙΟ ΔΙΔΑΣΚΑΛΙΑΣ ΕΞΙΣΩΣΗΣ 1 ΟΥ ΒΑΘΜΟΥ Α ΛΥΚΕΙΟΥ

Η Έννοια της συνάρτησης

Εισαγωγή στο Mathematica

ΜΑΣ002: Μαθηματικά ΙΙ ΑΣΚΗΣΕΙΣ (για εξάσκηση)

Μερικές Διαφορικές Εξισώσεις

f(x) = 2x+ 3 / Α f Α.


ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Γ ΛΥΚΕΙΟΥ - ΠΑΠΑΔΟΠΟΥΛΟΣ ΜΑΡΙΝΟΣ ΠΕΡΙΕΧΟΜΕΝΑ. Τίτλος Θεματικές Ενότητες Σελίδες. Δυο λόγια προς τους μαθητές.

ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Κωνσταντίνος Ξ. Τσιόκας. Αν. Καθηγήτρια Α.Π.Θ.

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

Επιμέλεια απαντήσεων: Ιωάννης Λυχναρόπουλος

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

Κεφάλαιο 4: Διαφορικός Λογισμός

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

ΔΕΙΓΜΑ ΠΡΙΝ ΤΙΣ ΔΙΟΡΘΩΣΕΙΣ - ΕΚΔΟΣΕΙΣ ΚΡΙΤΙΚΗ

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. Να βρείτε τις ασύμπτωτες της γραφικής παράστασης της συνάρτησης f με τύπο

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

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

Πρόλογος Εισαγωγή στη δεύτερη έκδοση Εισαγωγή... 11

Introduction Ν. Παπαδάκης 21 Οκτωβρίου 2015 Ν. Παπαδάκης Introduction 21 Οκτωβρίου / 47

ΕΝΟΤΗΤΑ 1: ΟΡΙΣΜΟΣ ΠΕΔΙΟ ΟΡΙΣΜΟΥ ΠΡΑΞΕΙΣ ΣΥΝΑΡΤΗΣΕΩΝ ΓΡΑΦΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ ΒΑΣΙΚΩΝ ΣΥΝΑΡΤΗΣΕΩΝ ΛΥΜΕΝΑ ΘΕΜΑΤΑ ΘΕΜΑ Α

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

Συνήθεις Διαφορικές Εξισώσεις Ι Ασκήσεις - 26/10/2017. Διαφορικές Εξισώσεις Bernoulli, Riccati και Ομογενείς

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

ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ ( ) ( ) ( ) β. g( x) Όταν ο τύπος της συνάρτησης περιέχει παρονομαστές αυτοί πρέπει να είναι διάφοροι του Άρα: μηδενός ( ) ( )

Αριθμητικές Μέθοδοι για την επίλυση ΠΑΤ Δ.Ε.

1.2 Εξισώσεις 1 ου Βαθμού

(a) = lim. f y (a, b) = lim. (b) = lim. f y (x, y) = lim. g g(a + h) g(a) h g(b + h) g(b)

Από το Γυμνάσιο στο Λύκειο Δειγματικός χώρος Ενδεχόμενα Εύρεση δειγματικού χώρου... 46

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

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

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

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

Συνδυαστικά Λογικά Κυκλώματα

ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός

2. Η μέθοδος του Euler

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

Α Λυκείου Άλγεβρα Τράπεζα Θεμάτων Το Δεύτερο Θέμα

Συνήθεις Διαφορικές Εξισώσεις Ι Ασκήσεις - 09/11/2017. Άσκηση 1. Να βρεθεί η γενική λύση της διαφορικής εξίσωσης. dy dx = 2y + x 2 y 2 2x

ΠΕΡΙΕΧΟΜΕΝΑ KΕΦΑΛΑΙΟ 1 ΣΤΟΙΧΕΙΑ ΔΙΑΦΟΡΙΚΩΝ ΕΞΙΣΩΣΕΩΝ 1

Geogebra. Μακρή Βαρβάρα. Λογισµικό Geogebra

ΘΕΜΑ 2. Θεωρούμε την ακολουθία (α ν ) των θετικών περιττών αριθμών: 1, 3, 5, 7,

ΜΕΘΟΔΟΣ ΠΕΠΕΡΑΣΜΕΝΩΝ ΣΤΟΙΧΕΙΩΝ

ΚΕΦΑΛΑΙΟ 3 ο ΣΥΝΑΡΤΗΣΕΙΣ, ΤΡΙΓΩΝΟΜΕΤΡΙΑ( FUNCTIONS,TRIGONOMETRY)

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

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

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

ΜΕΡΙΚΕΣ ΛΥΣΕΙΣ ΑΣΚΗΣΕΩΝ

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

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

ΣΤ ΕΝΟΤΗΤΑ. Βασικές έννοιες των συναρτήσεων. ΣΤ.1 (6.1 παρ/φος σχολικού βιβλίου) ΣΤ.2 (6.2 παρ/φος σχολικού βιβλίου)

Τι είναι πραγματική συνάρτηση πραγματικής μεταβλητής ;

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Πίνακας Περιεχομένων

Κεφ. 6Α: Συνήθεις διαφορικές εξισώσεις - προβλήματα δύο οριακών τιμών

Παράδειγµα #11 ΠΡΟΒΛΗΜΑΤΑ ΑΡΧΙΚΩΝ ΤΙΜΩΝ Σ Ε ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

Περί εξισώσεων με ένα άγνωστο

ΠΑΡΑΔΕΙΓΜΑ 14 ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #1: ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΠΡΟΒΛΗΜΑΤΑ ΑΡΧΙΚΩΝ ΤΙΜΩΝ

Κεφάλαιο 4: Επιλογή σημείου παραγωγής

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΜΗΧΑΝΙΚΗΣ ΕΦΑΡΜΟΓΕΣ ΜΕ ΧΡΗΣΗ MATLAB ΔΕΥΤΕΡΗ ΕΚΔΟΣΗ [ΒΕΛΤΙΩΜΕΝΗ ΚΑΙ ΕΠΑΥΞΗΜΕΝΗ]

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

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

εννοιολογικές παρανοήσεις και δυσκολίες στην έννοια της συνάρτησης

Ομάδα Γ. Ο υπολογιστής ως επιστημονικό εργαλείο

1.1. Διαφορική Εξίσωση και λύση αυτής

δίου ορισμού, μέσου του τύπου εξαρτημένης μεταβλητής του πεδίου τιμών που λέγεται εικόνα της f για x α f α.

Εφαρµόζοντας τη µέθοδο αριθµητικής ολοκλήρωσης Euler και Runge-Kutta 2 ης, συστηµατική σύγκριση των πέντε µεθόδων. Η επιλογή των σταθερών

ΔΙΑΓΩΝΙΣΜΑ-4. (1) Να λύςετε την εξίςωςη Α=0. (Μονάδεσ 7) (2) Να υπολογίςετε την αριθμητική τιμή τησ Β για x=-4. (Μονάδεσ 7)

ΓΙΩΡΓΟΣ ΚΟΜΙΝΗΣ Μαθηματικός Επιμορφ. Β

1 Μερική παραγώγιση και μερική παράγωγος

Κεφάλαιο 9. Αριθμητική επίλυση Διαφορικών Εξισώσεων

Λ. Ζαχείλας. Επίκουρος Καθηγητής Εφαρμοσμένων Μαθηματικών Τμήμα Οικονομικών Επιστημών Πανεπιστήμιο Θεσσαλίας. Οικονομική Δυναμική 29/6/14

ρ πε α εμ των α ματ ών 2014 Ο Η ΡΗ Ο Ο Γ Ρ Θ μα 2ο

Transcript:

ΠΑΡΑΡΤΗΜΑ Β ΕΠΙΛΥΣΗ ΤΩΝ ΔΙΑΦΟΡΙΚΩΝ ΕΞΙΣΩΣΕΩΝ με το Maple B.1 Είσαγωγή των διαφορικών εξισώσεων στο Maple Μια διαφορική εξίσωση μπορεί να εισαχθεί στο Maple χρησιμοποιώντας οποιαδήποτε μέθοδο για την κατασκευή αλγεβρικής, υπερβατικής ή οποιασδήποτε άλλης εξίσωσης - equation στο Maple. Καλό είναι να αντιστοιχούμε σε κάθε διαφορική εξίσωση ένα μοναδικό και περιγραφικό όνομα αποδεκτό από το Maple. Τέτοιες αντιστοιχίσεις μπορούμε να κάνουμε χρησιμοποιώντας εντολές: assignment statement - εντολές αντιστοιχίας. > restart; > with( DEtools ): > with( plots ): > with( linalg ): > iff(y(x),x)=f(x,y(x)); # Γενική μορφή Διαφορικής Εξίσωσης 1ης τάξεως. = x y( x ) f ( x, y( x )) Ας αντικαταστήσουμε την συνάρτηση f(x,y) με: > f(x,y):=y(x)+x; f ( x, y ) := y( x ) + x > oe := iff( y(x), x ) = f(x,y); # Δίνουμε το όνομα oe στη διαφορική εξίσωση. oe := = x y( x ) y( x) + x

718 ΠΑΡΑΡΤΗΜΑ Β > solution:=solve(oe,y(x)); # Γενική λύση της διαφορικής εξίσωσης. solution := y( x ) = x 1 + e x _C1 > fielplot(oe,[y(x)],x=-5..5,y=-5..5); # Σχεδίαση του διευθύνοντος πεδίου. Με την εντολή "rhs" απομονώνουμε την έκφραση της γενικής λύσεως, την οποία ονομάζουμε "g". > g:=rhs(solution); g := x 1 + e x _C1 Γραφική παράσταση κάποιων μερικών λύσεων που αντιστοιχούν σε τιμές της σταθεράς _C1 από -5 έως και 5 με βήμα 1. >plot({seq(g,_c1=-5..5)},x=-5..5,y=-5..5,color= blue);

Επίλυση των διαφορικών εξισώσεων με το Maple 719 Συνένωση του διευθύνοντος πεδίου και των γραφικών παραστάσεων των μερικών λύσεων. > p1:=fielplot(oe,[y(x)],x=-5..5,y=-5..5): >p2:=plot({seq(g,_c1=-5..5)},x=-5..5,y=-5..5,color= blue): > isplay(p1,p2); B.2 Διαφορικές εξισώσεις πρώτης τάξης Μια διαφορική εξίσωση πρώτης τάξης είναι μια εξίσωση που περιγράφει μια σχέση μεταξύ μιας συνάρτησης y, της ανεξάρτητης μεταβλητής x και της παραγώγου, x y( x ). Αλλες αριθμητικές ή συμβολικές παράμετροι μπορούν να βρίσκονται στην εξίσωση. Οι εντολές iff και D χρησιμοποιούνται για να αναπαραστήσουν τις παραγώγους στο Maple. > q1 := `y'` = iff (y(x), x );

720 ΠΑΡΑΡΤΗΜΑ Β q1 := y' = x y( x ) > convert( q1, D ); y' = D( y )( x ) Η γενική μορφή της διαφορικής εξίσωσης πρώτης τάξης είναι F x, y( x ), = x y( x ) 0. Στις περισσότερες περιπτώσεις είναι δυνατό να λυθεί ώς προς την παράγωγο, π.χ, = x y( x ) f ( x, y( x )). Η εντολή solve μπορεί γενικά να δουλέψει με διαφορικές εξισώσεις εκφρασμένες και στις δύο αυτές μορφές, αλλά η εντολή γραφικών DEplot χρειάζεται η διαφορική εξίσωση να είναι λυμένη ως προς την παράγωγο. B.3 Διαφορικές εξισώσεις μεγαλύτερης τάξης Η παράγωγος δεύτερης τάξης της συναρτήσεως y μπορεί να εισαχθεί με την εντολή iff ως εξής: > q2 := `y''` = iff( y(x), x,x ); q2 := y'' = 2 y( x ) x 2 Η αντίστοιχη παράγωγος εκφράζεται με όρους του D ως > convert( q2, D ); y'' = ( D ( 2 ) )( y) ( x ) Αν το δεξιό μέρος της έκφρασης είχε δηλωθεί άμεσα, η σύνταξη θα ήταν > (D@D)(y)(x); ή > (D@@2)(y)(x); ( D ( 2 ) )( y)( x ) ( D ( 2 ) )( y)( x )

Επίλυση των διαφορικών εξισώσεων με το Maple 721 Η δεύτερη μορφή είναι συναρτησιακά ισοδύναμη με την σύνθεση composition του D με τον εαυτό του, δηλαδή: > D( D(y) )(x); ( D ( 2 ) )( y)( x ) Για να αναπαραστήσουμε παραγώγους μεγαλύτερης τάξης μερικές φορές είναι πιο εύκολο να χρησιμοποιήσουμε τον τελεστή$, ως εξής: > `y'''` := iff( y(x), x$3 ); 3 y''' := y( x ) x 3 Οι ισοδύναμες εκφράσεις της εντολής σε όρους του D είναι: > (D@D@D)(y)(x); ( D ( 3 ) )( y)( x ) > (D@@3)(y)(x); ( D ( 3 ) )( y)( x ) B.4 Αναλυτικές λύσεις διαφορικών εξισώσεων Η εντολή solve χρησιμοποιείται για να βρεθεί μια λύση μιας διαφορικής εξίσωσης. Αν ορίζονται αρχικές και/ή οριακές συνθήκες, το Maple προσπαθεί να βρει μια συγκεκριμένη λύση για το πρόβλημα αρχικών ή οριακών συνθηκών που καθορίστηκαν. Αλλιώς, το αποτέλεσμα είναι η γενική λύση της διαφορικής εξίσωση. Β.5 Γενική λύση. Η πιο απλή μορφή της εντολής solve χρειάζεται την διαφορική εξίσωση και την άγνωστη συνάρτηση: > oe := iff( y(x), x ) = k*y(x); # Η Διαφορική Ε- ξίσωση. oe := = x y( x) k y( x ) > solution := solve( oe, y(x) ); # Η Γενική λύση.

722 ΠΑΡΑΡΤΗΜΑ Β solution := y( x ) = _C1 e ( k x ) Η μέθοδος που χρησιμοποιείται από το Maple για να βρεθεί η λύση σε μία Δ.Ε. ή Π.Α.Τ μπορεί να μας γίνει γνωστό με την αύξηση της παραμέτρου infolevel για την solve σε 3 : > infolevel[solve] := 3: Οπότε η εκ νέου εκτέλεση του προηγουμένου παραδείγματος δίνει: > solve( oe, y(x) ); Methos for first orer ODEs: --- Trying classification methos --- trying a quarature trying 1st orer linear <- 1st orer linear successful y( x ) = _C1 e ( k x ) Για να εμποδίσουμε την εμφάνιση των επιπλέον πληροφοριών ξανα ορίζουμε την infolevel για solve σε 0 : >infolevel[solve] := 0: Παρατηρήσεις: * Η άγνωστη συνάρτηση y εμφανίζεται πάντα με την ανεξάρτητη μεταβλητή x στην διαφορική εξίσωση δηλαδή πάντα στην μορφή y(x) και όχι μόνο το όνομα της y. * Η γενικη λύση της διαφορικής εξίσωσης πρώτης τάξεως παριστάνει μια οικογένεια μονοπαραμετρικών λύσεων, το προεπιλεγμένο όνομα της παραμέτρου είναι _C1; * Το αποτέλεσμα της εντολής solve είναι μια εξίσωση και για να επιλέξουμε το δεξιό μέλος της χρησιμοποιούμε την εντολή rhs: > y := rhs(solution); y := _C1 e ( k x ) Για να έχουμε την λύση συναρτήσει της ανεξάρτητης μεταβλητής, χρησιμοποιούμε την εντολή unapply: > y := unapply( rhs(solution), x ); y := x _C1 e ( k x )

Επίλυση των διαφορικών εξισώσεων με το Maple 723 και μπορούμε να υπολογίσουμε τις τιμές της y(x) για διάφορες τιμές του x. > y(0); _C1 Παρατηρήσεις: Το πρώτο όρισμα στην solve πρέπει να είναι μια διαφορικής εξίσωση. Η δεύτερη, πρέπει να είναι η εξαρτημένη μεταβλητή. Επειδή το αποτέλεσμα της εντολής solve είναι ένα σύνολο εξισώσεων χρησιμοποιούμε την εντολή subs ή eval για να εξάγουμε τα διάφορα μέρη της λύσης (Αυτός ο τρόπος μπορεί επίσης να χρησιμοποιηθεί αντί για την εντολή rhs ) > y := subs( solution, y(x) ); y := _C1 e ( k x ) Β.6 Λύσεις των προβλημάτων αρχικών τιμών (Π.Α.Τ) Ένα πρόβλημα αρχικών τιμών είναι μια διαφορική εξίσωση μαζί με το κατάλληλο σύνολο αρχικών συνθηκών. Για να βρούμε την λύση του ΠΑΤ με την solve, το πρώτο όρισμα πρέπει να είναι ένα σύνολο αποτελούμενο από την διαφορική εξίσωση και τις αρχικές συνθήκες: > restart;with( DEtools ):with( plots ):with( linalg ): > oe:=iff(y(x),x)=k*y(x); oe := = x y( x) k y( x ) > ic := y(0)=a; ic := y0 ( ) = A > solve( {oe,ic}, y(x) ); y( x) = A e ( k x ) Για ένα Π.Α.Τ. που αναφέρεται σε μια διαφορική εξίσωση τάξης n χρειάζονται n αρχικές συνθήκες, συγκεκριμένα η τιμή για την άγνωστη συνάρτηση και οι τιμές των (n-1) παραγώγων σε ένα σημείο. Το παρακάτω παράδειγμα είναι ένα Π.Α.Τ. δεύτερης τάξης.

724 ΠΑΡΑΡΤΗΜΑ Β > oe2 := iff( y(x), x,x ) + iff( y(x), x ) - 2*y(x) = 0; 2 oe2 := y( x ) + = x 2 x y( x ) 2 y( x ) 0 > ic2 := y(0)=α, D(y)(0)=Β; # Αρχικές συνθήκες (γενικές). ic2 := y0 ( ) = Á, D( y )( 0 ) = Â > solution2 := solve( {oe2,ic2}, y(x) ); # Η μερική λύση που αντιστοιχεί στις παραπάνω αρχικές συνθήκες. solution2 := y( x ) = 2 Á Â + + 3 3 e x Á 3 Â 3 e ( 2 x ) Ας δώσουμε τώρα συγκεκριμένες αριθμητικές τιμές για τις αρχικές συνθήκες: > ic3 := y(0)=1, D(y)(0)=2; # Αρχικές συνθήκες (γενικές). ic3 := y0 ( ) = 1, D( y )( 0) = 2 > solution3 := solve( {oe2,ic3}, y(x) ); # Η μερική λύση που αντιστοιχεί στις παραπάνω αρχικές συνθήκες. 4 solution3 := y( x ) = 3 e x 1 3 e ( 2 x ) Β.7 Αριθμητική λύση ενός Π.Α.Τ. Δεν είναι δυνατόν να βρεθεί αναλυτική λύση για πολλά ΠΑΤ. Ακόμα και όταν αυτό ειναι δυνατό,η λύση μπορεί να είναι τόσο πολύπλοκη ώστε να έχει λίγη ή καθόλου πρακτική σημασία. Όταν παρουσιάζονται αυτές οι καταστάσεις, το Maple μπορεί να βρεί μια αριθμητική λύση numerical solution στο Π.Α.Τ. με την εισαγωγή type=numeric ώς επιπλέον όρισμα στην εντολή solve. Να σημειωθέι ότι όλες οι παράμετροι του Π.Α.Τ. θα πρέπει να πάρουν συγκεκριμένες τιμές πριν ζητηθεί από το Maple μια αριθμητική λύση. > oe2; 2 y( x ) + = x 2 x y( x ) 2 y( x ) 0

> ic4 := y(0)=3,d(y)(0)=0; Επίλυση των διαφορικών εξισώσεων με το Maple 725 ic4 := y0 ( ) = 3, D( y )( 0) = 0 > nsolution := solve( {oe2,ic4}, y(x), type=numeric ); nsolution := proc ( x_rkf45 )... en proc Η διαδικασία απαιτεί μια τιμή της ανεξάρτητης μεταβλητής σαν το όρισμα της. Η διαδικασία καταλίγει σε μιά λίστα από εξισώσεις. Η πρώτη καθορίζει την τιμή για την ανεξάρτητη μεταβλητή, και οι επόμενες παρουσιάζουν την τιμή για κάθε συνάρτηση (μαζί με τις παραγώγους) για κάθε αρχική συνθήκη που καθορίστηκε. > nsolution(1); x = 1., y( x ) = 5.57189866299315018, = x y( x ) 5.16589363037805692 > nsolution(2); x = 2., y( x ) = 14.7964259327541400, = x y( x ) 14.7414797858332830 Η εντολή oeplot, που περιέχεται στο πακέτο plots, μπορεί να χρησιμοποιηθεί για να παράγει ένα ή περισσότερα από τα γραφήματα της αριθμητικής λύσης του Π.Α.Τ. Με την παρακάτω εντολή "oeplot" παρουσιάζονται στο διάστημα [0,1] το γράφημα της (προσεγγιστικής) λύσης (κόκκινο) και η πρώτη παράγωγος της (πράσινο): > oeplot( nsolution, [[x,y(x)],[x,iff(y(x),x)]], 0..1, legen=[`y(x)`,`y'(x)`],thickness=2);

726 ΠΑΡΑΡΤΗΜΑ Β Ένα πολύ ισχυρο χαρακτηριστικό της εντολής oeplot είναι η ικανότητα να σχεδιάζει εκφράσεις που περιέχουν την λύση του Π.Α.Τ. Έδώ, το γράφημα της y( x ) x y( x ) στο διάστημα [0,10] καθιστά προφανές ότι lim x y( x ) = x y( x ) 0 : > oeplot( nsolution, [x,y(x)-iff(y(x),x)], 0..10, thickness=2 ); Ο προεπιλεγμένος αριθμητικός ολοκληρωτικός αλγόριθμος για την εύρεση αριθμητικής λύσης είναι ο Fehlberg fourth-fifth Runge-Kutta (RKF45). Οι κλασικές μέθοδοι, όπως και οι μέθοδοι μεγάλης τάξης προσδιορίζονται από το όρισμα metho=optional. Για παράδειγμα, η προσεγγιστική λύση που χρησιμοποιεί την μεθόδο Euler, με βήμα h=0.1, βρίσκεται ως εξής: > Yeuler := solve( {oe2,ic3}, y(x), type=numeric, metho=classical, stepsize=0.1 ); Yeuler := proc ( x_classical )... en proc Ένα γράφημα που συγκρίνει τις λύσεις με την μέθοδο RKF45 και με την μέθοδο Euler στο διάστημα [0,2], βρίσκεται με τις εντολές: > p1:=oeplot(nsolution,[x,y(x)],0..2,color=re, thickness=2 ): > p2:=oeplot( Yeuler,[x,y(x)],0..2,color=blue, thickness= 2): > isplay( [p1,p2] );

Επίλυση των διαφορικών εξισώσεων με το Maple 727 Η εντολή solve μπορει επίσης να δημιουργήσει έναν πίνακα τιμών για τις λύσεις ενός ΠΑΤ χρησιμοποιόντας οποιαδήποτε απο τις διαθέσιμες μεθόδους. Για παράδειγμα, ο πίνακας τιμών της λύσης (και των παραγώγων της) χρησιμοποιώντας την μέθοδο forwar Euler για > xvalues := array( [i/10$i=0..10, $2..10] ); xvalues := 0, 1 1 3 2 1 3 7 4 9,,,,,,,,,,,,,,,,,, 10 5 10 5 2 5 10 5 10 1 2 3 4 5 6 7 8 9 10 δημιουργείται με την εντολή: > x1 := solve( {oe2,ic3}, y(x), type=numeric, metho=classical[foreuler],output=array([i/10$i=0..10, $2..10]) );

728 ΠΑΡΑΡΤΗΜΑ Β := x1,, x ( ) y x x ( ) y x 0. 1. 2. 0.10000000000000 1.20055845704989772 2.01846539464712826 0.20000000000000 1.40473506245917190 2.07370682102885250 0.30000000000000 1.61608132260216775 2.16323796499292742 0.40000000000000 1.83794368586457768 2.28546689962838734 0.50000000000000 2.07354720906431434 2.43957955033754325 0.60000000000000 2.32606884827230376 2.62544923958463628 0.70000000000000 2.59870277309540132 2.84356807213033136 0.80000000000000 2.89471972010023880 3.09499674695772864 0.90000000000000 3.21752209309358506 3.38133006280167248 1. 3.57069627228651010 3.70467594714447035 2. 9.79711662616077738 9.81506717943581464 3. 26.5804722282648918 26.5828772375562076 4. 72.0754719163276292 72.0757941386905259 5. 195.434153091077604 195.434196262324974 6. 529.923089603504536 529.923095387574108 7. 1436.89553626512179 1436.89553704006858 8. 3896.16685110956086 3896.16685121338788 9. 10564.5231306609748 10564.5231306748848 10. 28645.8853643781804 28645.8853643800358 Σημειώστε ότι αυτή η δομή είναι ένας 2 x 1 πίνακας στον οποίο το στοιχείο (2,1)είναι και αυτό πίνακας. Έτσι, για παράδειγμα η προσεγγιστική τιμή της λύσης για x=0.5 είναι: > x1[2,1][6,2]; 2.07354720906431434 Μια πιο ενδιαφέρουσα χρήση του πίνακα τιμών είναι να συγκρίνει τις λύσεις για δυο διαφορετικές μεθόδους, ( ή για μια μέθοδο με διαφορετικό βήμα). Για να γίνει αυτό ο πίνακας υπολογίζεται με την μέθοδο πρόβλεψης-διόρθωσης των Aams-Bashforth-Moulton. > x2 := solve( {oe2,ic3}, y(x), type=numeric, metho=classical[abmoulton],output=array([i/10$i=0..1 0, $2..10]) ):

Επίλυση των διαφορικών εξισώσεων με το Maple 729 Η στήλη που αντιστοιχεί στην λύση y(x), για την μέθοδο πρόβλεψηςδιόρθωσης μπορεί να συγκριθεί με την αντίστοιχη στήλη για την μέθοδο του Euler με τις εντολές: > heaer1 := vector([` y `, `Forwar Euler`, `Preictor-Corrector`]): > heaer2 := vector([`---`, `-------------`, `------ -------------`]): > stackmatrix( heaer1, heaer2, augment( col(x1[2,1],1..2), col(x2[2,1],2) )); y Forwar Euler Preictor-Corrector --- ------------- ------------------- 0. 1. 1. 0.1000000000 1.200558457 1.200650973 0.2000000000 1.404735062 1.405096996 0.3000000000 1.616081323 1.616874531 0.4000000000 1.837943686 1.839323276 0.5000000000 2.073547209 2.075668547 0.6000000000 2.326068848 2.329093663 0.7000000000 2.598702773 2.602804622 0.8000000000 2.894719720 2.900089065 0.9000000000 3.217522093 3.224371186 1. 3.570696272 3.579264010 2. 9.797116626 9.845969586 3. 26.58047223 26.77988965 4. 72.07547192 72.79742156 5. 195.4341531 197.8841970 6. 529.9230896 537.9050560 7. 1436.895536 1462.177544 8. 3896.166851 3974.610650 9. 10564.52313 10804.11190 10. 28645.88536 29368.62106

730 ΠΑΡΑΡΤΗΜΑ Β Β.8 Γραφικές λύσεις ενός Π.Α.Τ. Ένα από τα γραφικά εργαλεία για την ανάλυση της λύσης ενός Π.Α.Τ. είναι η εντολή oeplot. Η εντολή DEplot, από το πακέτο DEtools, παρέχει γραφικές πληροφορίες απευθείας από την διαφορική εξίσωση. Στην πιο απλή της μορφή, η DEplot μπορεί να δημιουργήσει ένα γράφημα της λύσης ενός Π.A.T.: > oe2;ic3; 2 y( x ) + = x 2 x y( x ) 2 y( x ) 0 y0 ( ) = 1, D( y )( 0) = 2 >DEplot( oe2, y(x), x=-1..2, [[ic3]],linecolor= blue,thickness=3); Το επί πλέον σύνολο αγκυλών γύρω από την αρχική συνθήκη χρειάζονται γιατί η DEplot παρέχει την δυνατότητα να παρουσιάζει τις λύσεις που αντιστοιχούν σε διαφορετικές αρχικές συνθήκες σε ένα γράφημα. Για παράδειγμα το γράφημα μιας λύσης για δυο ακόμα σύνολα αρχικών συνθηκών μπορεί να πρεστεθεί με μια απλή αλλαγή της εντολής DEplot : > ic4 := y(0)=0, D(y)(0)=3; > ic5 := y(0)=-3, D(y)(0)=0; ic4 := y0 ( ) = 0, D( y )( 0) = 3 ic5 := y0 ( ) = -3, D( y )( 0) = 0 >DEplot( oe2, y(x), x=-1..2, [[ic3],[ic4],[ic5]], linecolor=blue, thickness=3 );

Επίλυση των διαφορικών εξισώσεων με το Maple 731 Β.9 Χρήση της εντολής oeavisor για την ταξινόμηση μιας Σ.Δ.Ε. Η εντολή oeavisor, που περιέχεται στο πακέτο DEtools, μας δίνει μια μέθοδο για την ταξινόμηση μιας Σ.Δ.Ε. προτού λυθεί. Η σύνταξη της εντολής oeavisor είναι πολύ απλή. > oe := iff( y(x), x ) = a*y(x); oe := = x y( x) a y( x ) > oeavisor( oe, y(x) ); [_quarature ] Το αποτέλεσμα αυτό ξαφνιάζει λίγο. Η εξίσωση αυτή μπορεί να χαρακτηριστεί ή σαν χωριζομένων μεταβλητών ή γραμμική πρώτης τάξης. Όταν η εντολή oeavisor χαρακτηρίζει μια Σ.Δ.Ε. κατά μη σωστό τρόπο, τότε είναι χρήσιμο να συμπεριλάβουμε την λέξη help στην εντολή oeavisor. > oeavisor( oe, y(x), help ); [_quarature ] Για να ελέγξουμε εάν μια Σ.Δ.Ε. είναι επιλύσιμη με μια ή περισσότερες μεθόδους, μπορούμε να συμπεριλάβουμε επί πλέον ορίσματα:

732 ΠΑΡΑΡΤΗΜΑ Β > oeavisor( oe, y(x), [separable] ); [_separable ] > oeavisor( oe, y(x), [exact] ); [ NONE ] Μια (φαινομενικά) απλή τροποποίηση σε μια Σ.Δ.Ε. μπορεί να αλλάξει ριζικά την ταξινόμηση μιας Σ.Δ.Ε. π.χ. > oe2 := iff( y(x), x ) = a*y(x) + f(x): > oeavisor( oe2 ); [[_linear, class A ]] > oeavisor( oe2, [separable] ); [ NONE ] Με τον ίδιο τρόπο αντιμετωπίζονται οι Σ.Δ.Ε. δεύτερης ή μεγαλύτερης τάξης. > oe3 := x^2*iff(y(x),x$2) + 2*x*iff(y(x),x) + y(x) = f(x); oe3 := x 2 y( x ) + 2 x + = x 2 x y( x ) y( x ) f( x ) 2 > oeavisor( oe3 ); Παρατηρήσεις: [[_2n_orer, _linear, _nonhomogeneous ]] Το Maple μπορεί να λύσει αρκετές Σ.Δ.Ε. και Π.Α.Τ. που δεν θα μπορούσαμε να τις λύσουμε με το χέρι αναλυτικά. Όταν μπορούμε να λύσουμε μια εξίσωση με το χέρι, τα αποτελέσματα μπορούν να εμφανιστούν διαφορετικά από εκείνα του Maple, διότι χρησιμοποιούνται διαφορετικές μέθοδοι. Ας θυμηθούμε ότι η εντολή infolevel[solve]:=3: αναγκάζει το Maple να δίνει πληροφορίες για τις μεθόδους που χρησιμοποιεί με την εντολή solve ; Η εντολή infolevel[solve]:=0: απενεργοποιεί αυτές τις πληροφορίες.