Επιλύστε αριθμητικά το με τη μέθοδο των πεπερασμένων διαφορών το παρακάτω πρόβλημα δύο οριακών τιμών:

Σχετικά έγγραφα
Οι παρακάτω ασκήσεις είναι από το βιβλίο των S. C. Chapra και R. P. Canale με τίτλο Numerical Methods for Engineers, 6 th edition.

Άσκηση 1. Δίδεται η διαφορική εξίσωση dy. Λύση. Έχουμε dy

πεπερασμένη ή Η αναλυτική λύση της διαφορικής εξίσωσης δίνεται με τη βοήθεια του Mathematica: DSolve u'' r 1 u' r 1, u 1 0, u' 0 0,u r,r

Επιλύστε αριθμητικά με τη μέθοδο των πεπερασμένων διαφορών το παρακάτω πρόβλημα δύο οριακών τιμών: ( )

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #5: ΥΠΕΡΒΟΛΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: ΕΠΙΜΕΛΕΙΑ: Ιωάννης Λυχναρόπουλος

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

(συνθήκη συμμετρίας) (4) Το παραπάνω πρόβλημα μπορεί να περιγράψει τη μεταβατική πλήρως ανεπτυγμένη ροή σε κυλινδρικό αγωγό.

Επιµέλεια: Γιάννης Λυχναρόπουλος Οµάδα Α: Άσκηση 2 Έχουµε να επιλύσουµε την εξίσωση: 2

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

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

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

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

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

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

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

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

Η διατήρηση μάζας σε ένα σύστημα τριών αντιδραστήρων περιγράφεται από το παρακάτω σύστημα συνήθων διαφορικών εξισώσεων:

f στον κόμβο i ενός πλέγματος ( i = 1, 2,,N

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

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

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 2004, 3 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #4: ΠΑΡΕΜΒΟΛΗ

την κεντρώα έκφραση πεπερασμένων διαφορών 2 ης τάξης και για τη παράγωγο f την ανάδρομη έκφραση πεπερασμένων διαφορών 2 ης τάξης xxx

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 2004, 3 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #5: ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ

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

Αριθμητική ολοκλήρωση συνήθων διαφορικών εξισώσεων και συστημάτων

Υπολογιστικές Μέθοδοι

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

w 1, z = 2 και r = 1

Κεφ. 6: Επίλυση ελλειπτικών διαφορικών εξισώσεων με πεπερασμένες διαφορές προβλήματα οριακών τιμών

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, , 3 ο ΕΞΑΜΗΝΟ ΑΠΑΝΤΗΣΕΙΣ ΕΡΓΑΣΙΑΣ #1: ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟ ΙΑΣΤΟΛΗΣ ΚΑΙ ΡΙΖΕΣ ΕΞΙΣΩΣΕΩΝ ΕΠΙΜΕΛΕΙΑ: Σ.

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

Η πλήρως ανεπτυγµένη ροή λόγω διαφοράς πίεσης σε κυλινδρικό αγωγό περιγράφεται από την συνήθη διαφορική εξίσωση

x από το κεντρικό σημείο i: Ξεκινάμε από το ανάπτυγμα Taylor στην x κατεύθυνση για απόσταση i j. Υπολογίζουμε το άθροισμα:

Κεφάλαιο 2. Μέθοδος πεπερασµένων διαφορών προβλήµατα οριακών τιµών µε Σ Ε

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

Θέματα Εξετάσεων Σεπτεμβρίου 2012:

Επιμέλεια απαντήσεων: Ιωάννης Λυχναρόπουλος. Η μόνιμη θερμοκρασιακή κατανομή σε δύο διαστάσεις περιγράφεται από την εξίσωση: και

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

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

Ενότητα 6. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

Λύσεις ασκήσεων Άσκηση 1: Cengel and Ghajar, Κεφάλαιο 13: Προβλήματα και

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

y 1 και με οριακές συνθήκες w

ΧΡΟΝΙΚΗ ΟΛΟΚΛΗΡΩΣΗ. Για την επίλυση χρονομεταβαλλόμενων προβλημάτων η διακριτοποίηση στο χώρο γίνεται με πεπερασμένα στοιχεία και είναι της μορφής:

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

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

Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016. ΦΥΣ145 Υπολογιστικές Μέθοδοι στην Φυσική

Παράδειγμα #5 EΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΑΛΓΕΒΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΕΘΟΔΟ NEWTON ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης. ( k ) ( k)

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

MATLAB. Εισαγωγή στο SIMULINK. Μονάδα Αυτόματης Ρύθμισης και Πληροφορικής

Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

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

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

website:

Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ι. Λυχναρόπουλος

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, , 3 Ο ΕΞΑΜΗΝΟ ΑΠΑΝΤΗΣΕΙΣ ΕΡΓΑΣΙΑΣ #4: ΟΛΟΚΛΗΡΩΣΗ ΕΠΙΜΕΛΕΙΑ: Σ. Μισδανίτης. με το πολυώνυμο παρεμβολής Lagrange 2 ης τάξης

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

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

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, , 3 ο ΕΞΑΜΗΝΟ ΑΠΑΝΤΗΣΕΙΣ ΕΡΓΑΣΙΑΣ #4: ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ ΕΠΙΜΕΛΕΙΑ: Σ. Βαρούτης

8 FORTRAN 77/90/95/2003

Παράδειγμα #4 ΑΛΓΕΒΡΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΞΙΣΩΣΕΩΝ

1 of 79 ΘΕΜΑ 2. Δίνεται η συνάρτηση f(x) = x 2 4x + 5, x R

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

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

Άσκηση 1 Έχουµε να επιλύσουµε την εξίσωση κύµατος 1 ης τάξης (υπερβολική εξίσωση) (1)

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια υπορουτίνα; με υπορουτίνα ΥΠΟΡΟΥΤΙΝΕΣ. Παράδειγμα #1: η πράξη SQ. Ποια η διαφορά συναρτήσεων και υπορουτίνων;

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

Κεφ. 4: Ολοκλήρωση. 4.1 Εισαγωγή

Ενότητα 3 (μέρος 1 ο )

Κεφάλαιο 7. Επίλυση υπερβολικών διαφορικών εξισώσεων με πεπερασμένες διαφορές

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

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

ΑΤΕΙ ΠΕΙΡΑΙΑ/ ΣΤΕΦ 23/9/2015 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ

4.1 Αριθμητική Ολοκλήρωση Εξισώσεων Νεύτωνα

Περιεχόμενα. Κεφάλαιο 1 ΣΥΣΤΗΜΑΤΑ ΣΥΝΤΕΤΑΓΜΕΝΩΝ ΣΕ ΜΙΑ ΕΥΘΕΙΑ Οι συντεταγμένες ενός σημείου Απόλυτη τιμή...14

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ.

Αριθμητική παραγώγιση εκφράσεις πεπερασμένων διαφορών

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

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

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Παράδειγμα #5 ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ & ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΠΙΜΕΛΕΙΑ: Σ. Βαρούτης

Συνήθεις διαφορικές εξισώσεις O.D.E.

Κεφ. 5: Ολοκλήρωση. 5.1 Εισαγωγή

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΛΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Εξετάσεις Ιουνίου 2002

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

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Τμήμα Πληροφορικής & Επικοινωνιών Σήματα και Συστήματα

Δυναμική Μηχανών I. Επίλυση Προβλημάτων Αρχικών Συνθηκών σε Συνήθεις. Διαφορικές Εξισώσεις με Σταθερούς Συντελεστές

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

Συστήματα Αυτομάτου Ελέγχου Ι Ασκήσεις Πράξης

Δυναμική Μηχανών I. Διάλεξη 8. Χειμερινό Εξάμηνο 2013 Τμήμα Μηχανολόγων Μηχ., ΕΜΠ

MEM 253. Αριθμητική Λύση ΜΔΕ * * *

ΘΕΜΑΤΑ ΚΑΙ ΑΣΚΗΣΕΙΣ ΓΙΑ «ΜΑΘΗΜΑΤΙΚΑ ΙΙ» ΑΚΟΛΟΥΘΙΕΣ ΚΑΙ ΟΡΙΑ ΑΚΟΛΟΥΘΙΩΝ. lim. (β) n +

Κεφ. 2: Επίλυση συστημάτων εξισώσεων. 2.1 Επίλυση εξισώσεων

Αριθµητική Ολοκλήρωση

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

Transcript:

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ, 1-13, 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #4: ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ Ημερομηνίες παράδοσης: Ασκήσεις 1 και : -1-1, Ασκήσεις 3 και 4: 8-1-13 Επιμέλεια απαντήσεων: Ιωάννης Λυχναρόπουλος ΑΣΚΗΣΗ 1 Επιλύστε αριθμητικά το με τη μέθοδο των πεπερασμένων διαφορών το παρακάτω πρόβλημα δύο οριακών τιμών: d dt f dx dx x, T, T, x 1 1 1 Επιλέξτε εσείς τη συνάρτηση f x. Περιγράψτε ένα φυσικό πρόβλημα που θα μπορούσε να μοντελοποιείται με το παραπάνω πρόβλημα οριακών τιμών. Λύση: Έστω f ( x) x Διακριτοποιούμε το πεδίο ορισμού επιλέγοντας N ίσα μεταξύ τους διαστήματα ( N 1 κόμβους) στη x κατεύθυνση με μήκος: h 1/ N Αναλυτική λύση: DSolve'',, 1 1,, 1 4 T( x) x 11x 1 Αριθμητική λύση: Διακριτοποιούμε στον τυχαίο εσωτερικό κόμβο () i χρησιμοποιώντας έκφραση κεντρώων πεπερασμένων διαφορών ης τάξης: Ti 1Ti Ti 1 x i Ti 1 Ti Ti 1 h xi, i,..., N με T1, TN 1 1 h Οι διακριτοποιημένες εξισώσεις δίνουν για τους ( N 1) εσωτερικούς κόμβους ένα τριδιαγώνιο σύστημα εξισώσεων, το οποίο μπορεί να επιλυθεί αποτελεσματικά με τον αλγόριθμο Thomas. Παράδειγμα: για N 7 το σύστημα έχει την ακόλουθη μορφή: 1 T hx 1 1 T3 hx3 1 1 T 4 hx 4 1 1 T5 hx5 1 1 T 6 hx 6 1 T 7 hx71 με T1 και T8 1 Πρόγραμμα Fortran: Program askhsh1 implicit none

doubleprecision,allocatable::a(:),b(:),c(:),d(:),t(:),x(:) doubleprecision:: dr,q,s,h integer::n,i,status n=5!arithmos diasthmatwn -> n+1 komboi allocate(a(:n-1),b(n-1),c(n-),t(n+1),d(n-1),x(n+1)) h=1./n do i=1,n+1 x(i)=(i-1)*h T(1)= T(n+1)=1! Ypologismos syntelestwn algorithmou Thomas gia tous n-1 eswterikous kombous! px gia diasthmata n=6 => Ν+1=7 komboi (n-1=5 eswterikoi):! b(1) c(1) d(1)! a() b() c() d()! a(3) b(3) c(3) d(3)! a(4) b(4) c(4) d(4)! a(5) b(5) c(5) d(5) b(1)=-. c(1)=1. do i=,n-1 a(i)=1. b(i)=-. if (i<n-1) then c(i)=1. end if do i=1,n- d(i)=h***f(x(i+1)) d(n-1)=h***f(x(i+1))-1 print*, '-------------'!print*, 'a= ',a(:),'b= ',b(:),'c= ',c(:),'d= ',d(:) call Thomas(n-1,a,b,c,d,T(:n)) do i=1,n+1 print '(I3,",",F1.5,",",e.5,",",e.5)',i,x(i),T(i), (11*x(i)+x(i)**4)/1. contains subroutine Thomas(n,a,b,c,d,x) integer,intent(in) :: n doubleprecision, INTENT(INOUT) ::a(:n),b(n),c(1:n-1),d(n) doubleprecision, INTENT(OUT) ::x(n) integer::i doubleprecision ::t(n),u(n) t(1)=b(1) u(1)=d(1)/t(1)

do i=,n t(i)=b(i)-a(i)*c(i-1)/t(i-1) u(i)=(d(i)-a(i)*u(i-1))/t(i) x(n)=u(n) do i=n-1,1,-1 x(i)=u(i)-c(i)/t(i)*x(i+1) end subroutine Thomas doubleprecision function f(x) doubleprecision::x f=x** end function end program Για N 5 το πρόγραμμα δίνει τα ακόλουθα αποτελέσματα Κόμβος x Αριθμητική λύση Αναλυτική λύση 1.E+.E+. 1.833E- 1.833E- 3.4 3.667E- 3.667E- 4.6 5.5E- 5.5E- 5.8 7.334E- 7.334E- 6.1 9.168E- 9.168E- 7.1 1.1E-1 1.1E-1 8.14 1.84E-1 1.84E-1 9.16 1.467E-1 1.467E-1 1.18 1.651E-1 1.651E-1 11. 1.835E-1 1.835E-1 1..19E-1.19E-1 13.4.3E-1.3E-1 14.6.387E-1.387E-1 15.8.57E-1.57E-1 16.3.757E-1.757E-1 17.3.94E-1.94E-1 18.34 3.18E-1 3.18E-1 19.36 3.314E-1 3.314E-1.38 3.51E-1 3.51E-1 1.4 3.688E-1 3.688E-1.4 3.876E-1 3.876E-1 3.44 4.65E-1 4.65E-1 4.46 4.54E-1 4.54E-1 5.48 4.444E-1 4.444E-1 6.5 4.636E-1 4.635E-1 7.5 4.88E-1 4.88E-1 8.54 5.1E-1 5.1E-1

9.56 5.15E-1 5.15E-1 3.58 5.411E-1 5.411E-1 31.6 5.68E-1 5.68E-1 3.6 5.87E-1 5.87E-1 33.64 6.7E-1 6.7E-1 34.66 6.8E-1 6.8E-1 35.68 6.41E-1 6.41E-1 36.7 6.617E-1 6.617E-1 37.7 6.84E-1 6.84E-1 38.74 7.33E-1 7.33E-1 39.76 7.45E-1 7.45E-1 4.78 7.459E-1 7.459E-1 41.8 7.675E-1 7.675E-1 4.8 7.894E-1 7.893E-1 43.84 8.115E-1 8.115E-1 44.86 8.339E-1 8.339E-1 45.88 8.566E-1 8.566E-1 46.9 8.797E-1 8.797E-1 47.9 9.3E-1 9.3E-1 48.94 9.67E-1 9.67E-1 49.96 9.58E-1 9.58E-1 5.98 9.75E-1 9.75E-1 51 1 1.E+ 1.E+ Παρατηρούμε ότι οι τιμές της αριθμητικής και αναλυτικής λύσης ταυτίζονται σε τέσσερα σημαντικά ψηφία σε κάθε κόμβο. ΑΣΚΗΣΗ Να βρεθεί αριθμητικά ο ρυθμός ψύξης ή θέρμανσης ενός σώματος επιλύοντας την ΣΔΕ dt kt T dt a με αρχική συνθήκη T T, όπου T t η θερμοκρασία του σώματος, t η ανεξάρτητη μεταβλητή του χρόνου, k η σταθερά αναλογίας, T a η θερμοκρασία του περιβάλλοντος χώρου και T η αρχική θερμοκρασία του σώματος. Επιλέξτε εσείς τις παραμέτρους του προβλήματος και συγκρίνετε με την αντίστοιχη αναλυτική λύση Λύση: Έστω Ta, T 1, k.4 dt kt ( Ta ) f( tt, ), T() T dt kt Αναλυτική λύση: Tt () Te T T a a

Επιλύουμε το πρόβλημα αρχικών τιμών με Euler και RK ης τάξης: h t T i 1 T i h k( T i Ta), i,1,... Euler: RK- k1 f( ti, Ti) k( Ti Ta) k f( ti h, Ti hk1) k( Ti hk1ta) h Ti 1 Ti ( k1k) Πρόγραμμα Fortran: program initial_value_problems! Solve: T'=-k(T-Ta), T[]=To implicit none real::h real,allocatable,dimension(:)::x,y integer::i,method,n=1! number of iterations real::k,ta,to allocate(x(n),y(n)) k=.5 Ta= To=1 x(1)= y(1)=to h=.5!starting point!initial value method=!1=euler, =rk select case (method) case (1) call euler(x,y,h,n) case () call rk(x,y,h,n) end select do i=1,n print '(i3,",",f1.3,",",f1.5,",",f1.5,",",e1.3)', i,x(i),y(i),f1(x(i)),abs(f1(x(i))-y(i)) enddo contains subroutine euler(x,y,h,n) real::x(:),y(:),h integer::i,n do i=1,n-1 y(i+1)=y(i)+h*f(x(i),y(i)) x(i+1)=x(i)+h enddo end subroutine euler

subroutine rk(x,y,h,n) real::x(:),y(:),h,k1,k integer::i,n do i=1,n-1 k1=f(x(i),y(i)) k=f(x(i)+h,y(i)+h*k1) y(i+1)=y(i)+(h/)*(k1+k) x(i+1)=x(i)+h enddo end subroutine rk real function f(x,y) result(z) real,intent(in)::x,y z=-k*(y-ta) end function f real function f1(x) result(y)!analytic solution real,intent(in)::x y=(-ta + Exp(k*x)*Ta + To)/Exp(k*x) end function f1 end program initial_value_problems Τα αποτελέσματα του προγράμματος για 1 χρονικά βήματα και για h.1 και.5 παρουσιάζονται στους επόμενους πίνακες: Euler: h=.1 Βήμα x Αριθμητική λύση Αναλυτική λύση Απόλυτο Σφάλμα 1 1.E+1 1.E+1.E+.1 1.5E+1 1.49E+1 1.3E- 3. 1.98E+1 1.95E+1.34E- 4.3 1.143E+1 1.139E+1 3.33E- 5.4 1.185E+1 1.181E+1 4.E- 6.5 1.6E+1 1.1E+1 5.E- 7.6 1.65E+1 1.59E+1 5.73E- 8.7 1.3E+1 1.95E+1 6.35E- 9.8 1.337E+1 1.33E+1 6.9E- 1.9 1.37E+1 1.36E+1 7.38E- 11 1 1.41E+1 1.393E+1 7.79E- 1 1.1 1.431E+1 1.43E+1 8.15E- 13 1. 1.46E+1 1.451E+1 8.45E- 14 1.3 1.487E+1 1.478E+1 8.7E- 15 1.4 1.51E+1 1.53E+1 8.91E- 16 1.5 1.537E+1 1.58E+1 9.8E- 17 1.6 1.56E+1 1.551E+1 9.E- 18 1.7 1.58E+1 1.573E+1 9.9E- 19 1.8 1.63E+1 1.593E+1 9.36E- 1.9 1.63E+1 1.613E+1 9.39E- 1 1.64E+1 1.63E+1 9.39E-

RK: h=.1 Βήμα x Αριθμητική λύση Αναλυτική λύση Απόλυτο Σφάλμα 1 1.E+1 1.E+1.E+.1 1.49E+1 1.49E+1.6E-4 3. 1.95E+1 1.95E+1 3.91E-4 4.3 1.139E+1 1.139E+1 5.58E-4 5.4 1.181E+1 1.181E+1 7.8E-4 6.5 1.1E+1 1.1E+1 8.41E-4 7.6 1.59E+1 1.59E+1 9.59E-4 8.7 1.95E+1 1.95E+1 1.7E-3 9.8 1.33E+1 1.33E+1 1.16E-3 1.9 1.36E+1 1.36E+1 1.4E-3 11 1 1.393E+1 1.393E+1 1.31E-3 1 1.1 1.43E+1 1.43E+1 1.37E-3 13 1. 1.451E+1 1.451E+1 1.4E-3 14 1.3 1.478E+1 1.478E+1 1.47E-3 15 1.4 1.53E+1 1.53E+1 1.5E-3 16 1.5 1.57E+1 1.58E+1 1.53E-3 17 1.6 1.551E+1 1.551E+1 1.55E-3 18 1.7 1.57E+1 1.573E+1 1.57E-3 19 1.8 1.593E+1 1.593E+1 1.58E-3 1.9 1.613E+1 1.613E+1 1.59E-3 1 1.63E+1 1.63E+1 1.59E-3 Euler: h=.5 Βήμα x Αριθμητική λύση Αναλυτική λύση Απόλυτο Σφάλμα 1 1.E+1 1.E+1.E+.5 1.5E+1 1.1E+1.88E-1 3 1 1.438E+1 1.393E+1 4.4E-1 4 1.5 1.578E+1 1.58E+1 5.5E-1 5 1.684E+1 1.63E+1 5.15E-1 6.5 1.763E+1 1.713E+1 4.9E-1 7 3 1.8E+1 1.777E+1 4.5E-1 8 3.5 1.867E+1 1.86E+1 4.3E-1 9 4 1.9E+1 1.865E+1 3.5E-1 1 4.5 1.95E+1 1.895E+1 3.3E-1 11 5 1.944E+1 1.918E+1.58E-1 1 5.5 1.958E+1 1.936E+1.17E-1 13 6 1.968E+1 1.95E+1 1.81E-1 14 6.5 1.976E+1 1.961E+1 1.5E-1 15 7 1.98E+1 1.97E+1 1.4E-1

16 7.5 1.987E+1 1.976E+1 1.E-1 17 8 1.99E+1 1.98E+1 8.9E- 18 8.5 1.99E+1 1.986E+1 6.75E- 19 9 1.994E+1 1.989E+1 5.47E- 9.5 1.996E+1 1.991E+1 4.4E- 1 1 1.997E+1 1.993E+1 3.57E- RK: h=.5 Βήμα x Αριθμητική λύση Αναλυτική λύση Απόλυτο Σφάλμα 1 1.E+1 1.E+1.E+.5 1.19E+1 1.1E+1.45E- 3 1 1.39E+1 1.393E+1 3.8E- 4 1.5 1.53E+1 1.58E+1 4.47E- 5 1.67E+1 1.63E+1 4.65E- 6.5 1.79E+1 1.713E+1 4.53E- 7 3 1.773E+1 1.777E+1 4.4E- 8 3.5 1.8E+1 1.86E+1 3.86E- 9 4 1.861E+1 1.865E+1 3.44E- 1 4.5 1.89E+1 1.895E+1 3.E- 11 5 1.915E+1 1.918E+1.6E- 1 5.5 1.934E+1 1.936E+1.5E- 13 6 1.948E+1 1.95E+1 1.91E- 14 6.5 1.96E+1 1.961E+1 1.6E- 15 7 1.968E+1 1.97E+1 1.36E- 16 7.5 1.975E+1 1.976E+1 1.13E- 17 8 1.981E+1 1.98E+1 9.44E-3 18 8.5 1.985E+1 1.986E+1 7.8E-3 19 9 1.988E+1 1.989E+1 6.46E-3 9.5 1.991E+1 1.991E+1 5.3E-3 1 1 1.993E+1 1.993E+1 4.37E-3 Παρατηρούμε πως α) η RK δίνει καλύτερα αποτελέσματα από την Euler (μικρότερο σφάλμα) και β) Καλύτερα αποτελέσματα και με τις δύο μεθόδους παίρνουμε για μικρότερες τιμές του βήματος h. ΑΣΚΗΣΗ 3 Η αρμονική ταλάντωση με τριβή μιας μάζας περιγράφεται από το πρόβλημα αρχικών τιμών d y dy dy m ky f t, y( ) y, y 1. dt dt dt t

f t, τις αρχικές τιμές Επιλέγοντας εξωτερική δύναμη y και y 1 και τα μεγέθη m, ν και k να λυθεί το πρόβλημα αριθμητικά και να συγκριθούν τα αποτελέσματα με την αναλυτική λύση για t t* (βλέπε Τραχανάς, σελ. 13 13, μελετώνται οι περιπτώσεις της ισχυρής, ασθενούς και κρίσιμης απόσβεσης). Λύση d x() t dx() t a a a x() t f(), t dt dt x() a, x'() a 1 3 4 5 Επιλέγουμε: t f () t e sint, a1 1, a, a3, a4.4, a5.6 d x t () dx() t dt dt t xt ( ) e sin t, x().4, x'().6 Αναλυτική λύση: yt e e e t t t ( ).5 cost +.1 cost cost. sint cost + t t +.e cost sint +.1e sint sint Γραφική παράσταση στο (,1): -.35 -.4 -.45 -.5 -.55 -.6 -.65..4.6.8 1 Για την αριθμητική επίλυση της εξίσωσης θα κάνουμε ορίσουμε δύο νέες μεταβλητές z () t x() t ; z () t dx()/ t dt 1 Επιλύσουμε το σύστημα δύο διαφορικών εξισώσεων πρώτης τάξης: dz1() t z( t); z1().4 dt z 1 ().4 dz() t t e sin t z( t) z1( t); dt z ().6 Συνοπτικά τα αποτελέσματα εμφανίζονται στον επόμενο πίνακα, όπου ο κάθε υποπίνακας αντιστοιχεί σε μία μέθοδο ολοκλήρωσης και περιέχει 3 στήλες: (την τιμή του x, την αριθμητική τιμή του y και το απόλυτο σφάλμα):

h=.1 h=.5 h=.1 Euler RK- RK-3 RK-4..4..1.46.197635..414.388.3.418119.548589.4.4434.69994.5.43385.833838.6.43657.94916.7.44788.14497.8.44935.111996.9.455311.1173.1.461613.189..4..5.43.46879.1.461.73971.15.4981.7455..55195.363876.5.557848.44184.3.594.179997.35.6398.383435.4.65397.66869.45.68448.15198.5.7981.155173..4..1.46.17397..54.15595.3.59381.17859.4.656594.998331.5.718857.599.6.771774.5656.7.87866.897167.8.816993.14786.9.785665.96 1..696.3485..4..1.46.365 1 7..4179 4.88677 1 7.3.418174 7.56997 1 7.4.4435 1.4 1 6.5.4347 1.3448 1 6.6.436667 1.66436 1 6.7.44894.8 1 6.8.449149.365 1 6.9.455431.7375 1 6.1.461736 3.13443 1 6..4..5.435.318.1.46186.79883.15.493664.17147..55755.19571.5.557687.8897.3.588985.3855.35.61975.511443.4.64773.66587.45.6777.841994.5.694617.1533..4..1.46.679..568.7616.3.596.14596.4.64974.46358.5.697496.393161.6.7797.594816.7.768.865351.8.681919.111.9.5735.168139 1..37669.675..4..1.46 1.1916 1 7..4178.47593 1 7.3.418174 3.8675 1 7.4.4435 5.34816 1 7.5.43469 6.94177 1 7.6.436666 8.6459 1 7.7.44893 1.465 1 6.8.449148 1.3973 1 6.9.45549 1.44536 1 6.1.461735 1.66356 1 6..4..5.43485.16917.1.46177.387594.15.49366.6959..55668.1878.5.557566.158999.3.5888.1541.35.61886.9881.4.647.3919.45.67431.5861.5.694199.63556..4..1.461875.141637..55961.41673.3.58944.846.4.64875.14645.5.695953.3899.6.7483.36818.7.73587.543834.8.677483.777643.9.56769.1838 1..368151.147565..4..1.46 3.5465 1 1..4178 7.1799 1 1.3.418173 1.8993 1 11.4.4434 1.4767 1 11.5.43469 1.8615 1 11.6.436665.5837 1.7.4489.66531 1.8.449147 3.896 1.9.45548 3.5531 1 11.1.461733 3.9383 1 11..4..5.43469 1.13141 1 8.1.461733.446 1 8.15.493537 3.8137 1 8..55559 5.3613 1 8.5.55747 7.44 1 8.3.5886 8.8493 1 8.35.618564 1.748 1 7.4.64661 1.74 1 7.45.67199 1.47956 1 7.5.693564 1.68749 1 7..4..1.461733 3.71681 1 7..5556 8.3564 1 7.3.58861 1.38949 1 6.4.64661.194 1 6.5.693567.7886 1 6.6.7115 3.4851 1 6.7.718153 4.5558 1 6.8.669711 4.55357 1 6.9.556443 4.76567 1 6 1..353399 4.5355 1 6

Από το συγκεντρωτικό πίνακα είναι προφανές ότι: i) Η R-K 4 ης τάξης δίνει αποτελέσματα με πολύ μεγάλη ακρίβεια σε κάθε χρονικό βήμα ii) Καθώς το χρονικό βήμα μειώνεται αυξάνει και η ακρίβεια σε όλες τις μεθόδους Η σύγκριση των αποτελεσμάτων γίνεται με γραφήματα των απολύτων σφαλμάτων ως προς τον αριθμό των επαναλήψεων: Ομαδοποίηση γραφημάτων ως προς το χρονικό βήμα: h=.1.1.1.8 Method Euler.6 RK.4 RK3. RK4 4 6 8 1 h=.5.175.15.15.1.75.5.5 Method Euler RK RK3 RK4 4 6 8 1

h=.1.4.3 Method Euler. RK.1 RK3 RK4 4 6 8 1 Σε όλες τις περιπτώσεις οι μέθοδοι R-K δίνουν μικρότερο σφάλμα από την Euler, με τη RK 4 ης τάξης να είναι η πλέον ακριβής. Ομαδοποίηση γραφημάτων ως προς τη μέθοδο ολοκλήρωσης: Euler.6.5.4.3..1 h.1.5.1 4 6 8 1

RK.1.8.6 h.1.4.5..1 4 6 8 1 RK3.6.5.4.3..1 h.1.5.1 RK4 4 6 8 1 4 1-6 3 1-6 h.1 1-6.5 1 1-6.1 4 6 8 1 Το συμπέρασμα είναι πως όσο μεγαλύτερη η διακριτοποίηση (μικρότερο h) τόσο καλύτερα αποτελέσματα παίρνουμε με κάθε μέθοδο.

Πρόγραμμα Fortran: program initial_value_problems_system! y''-y'+y=exp(t)sin(t), y()=-.4, y'[]=-.6 implicit none real::h real,allocatable,dimension(:)::z1,z,x integer::i,method,n=11! number of iterations allocate(x(n),z1(n),z(n)) do method=1,4!1=euler, =rk, 3=rk3, 4=rk4 x(1)=!starting point z1(1)=-.4!initial value z(1)=-.6!initial value h=.1 select case (method) case (1) call euler(x,z1,z,h,n) case () call rk(x,z1,z,h,n) case (3) call rk3(x,z1,z,h,n) case (4) call rk4(x,z1,z,h,n) end select print*, '--------------------',method,'----------------------' do i=1,n enddo contains print*,i-1,x(i),z1(i),f1(x(i)),abs(f1(x(i))-z1(i)) subroutine euler(x,z1,z,h,n) real::x(:),z1(:),z(:),h integer::i,n do i=1,n-1 z1(i+1)=z1(i)+h*f(x(i),z1(i),z(i)) z(i+1)=z(i)+h*g(x(i),z1(i),z(i)) x(i+1)=x(i)+h enddo end subroutine euler subroutine rk(x,z1,z,h,n) real::x(:),z1(:),z(:),h,k11,k1,k1,k integer::i,n do i=1,n-1 k11=f(x(i),z1(i),z(i)) k1=g(x(i),z1(i),z(i)) k1=f(x(i)+h,z1(i)+h*k11,z(i)+h*k1) k=g(x(i)+h,z1(i)+h*k11,z(i)+h*k1) x(i+1)=x(i)+h z1(i+1)=z1(i)+(h/)*(k11+k1)

z(i+1)=z(i)+(h/)*(k1+k) enddo end subroutine rk subroutine rk3(x,z1,z,h,n) real::x(:),z1(:),z(:),h,k11,k1,k13,k1,k,k3 integer::i,n do i=1,n-1 k11=f(x(i),z1(i),z(i)) k1=g(x(i),z1(i),z(i)) k1=f(x(i)+.5*h,z1(i)+.5*h*k11,z(i)+.5*h*k1) k=g(x(i)+.5*h,z1(i)+.5*h*k11,z(i)+.5*h*k1) k13=f(x(i)+h,z1(i)+h*k1,z(i)+h*k) k3=g(x(i)+h,z1(i)+h*k1,z(i)+h*k) x(i+1)=x(i)+h z1(i+1)=z1(i)+(h/6)*(k11+4*k1+k13) z(i+1)=z(i)+(h/6)*(k1+4*k+k3) enddo end subroutine rk3 subroutine rk4(x,z1,z,h,n) real::x(:),z1(:),z(:),h,k11,k1,k13,k14,k1,k,k3,k4 integer::i,n do i=1,n-1 k11=f(x(i),z1(i),z(i)) k1=g(x(i),z1(i),z(i)) enddo end subroutine rk4 k1=f(x(i)+.5*h,z1(i)+.5*h*k11,z(i)+.5*h*k1) k=g(x(i)+.5*h,z1(i)+.5*h*k11,z(i)+.5*h*k1) k13=f(x(i)+.5*h,z1(i)+.5*h*k1,z(i)+.5*h*k) k3=g(x(i)+.5*h,z1(i)+.5*h*k1,z(i)+.5*h*k) k14=f(x(i)+h,z1(i)+h*k13,z(i)+h*k3) k4=g(x(i)+h,z1(i)+h*k13,z(i)+h*k3) x(i+1)=x(i)+h z1(i+1)=z1(i)+(h/6)*(k11+*k1+*k13+k14) z(i+1)=z(i)+(h/6)*(k1+*k+*k3+k4) real function f(x1,x,x3) result(z) real,intent(in)::x1,x,x3 z=x3 end function f real function g(x1,x,x3) result(z) real,intent(in)::x1,x,x3 z=exp(*x1)*sin(x1)-*x+*x3 end function g

real function f1(t) result(y)!analytic solution real,intent(in)::t y= -.5*Exp(*t)*Cos(t) +.1*Exp(*t)*Cos(t)*Cos(*t) - &.*Exp(*t)*Cos(*t)*Sin(t) +.*Exp(*t)*Cos(t)*Sin(*t)+ &.1*Exp(*t)*Sin(t)*Sin(*t) end function f1 end program initial_value_problems_system ΑΣΚΗΣΗ 4 Η ροπή M ανά μονάδα μήκους που απαιτείται για την περιστροφή ενός κυλινδρικού R άξονα, ακτίνας R, κατά γωνία δίδεται από το ολοκλήρωμα M 4 G r rdr, r R, r η λύση του προβλήματος: όπου 1 3 r, R, r r r r r Πρώτα υπολογίστε αριθμητικά πρώτα τη συνάρτηση r και συγκρίνετε τα αποτελέσματά σας με την αναλυτική λύση του προβλήματος. Στη συνέχεια επιλέγοντας τιμές για τη ροπή M και τη παράμετρο G βρείτε την αντίστοιχη γωνία. Λύση: Έστω R 1 Αναλυτική λύση (από Mathematica): DSolve 1 3 8 Αριθμητική λύση: () r ( r R ) 3 '', 1,,, Διακριτοποιούμε το πεδίο ορισμού διαιρώντας την απόσταση r 1 σε N ίσα διαστήματα πλάτους r 1/ N. Ορίζονται N 1 κόμβοι. Προσεγγίζουμε τη διαφορική εξίσωση (1) στον τυχαίο κόμβο i : i1i i 1 1i 1i1 3 r ri r 1 1 1 1 3 i1 i i1 r ri r r, i,..., N r rir όπου r ( i1) r. i

1 1 N N+1 r= i-1 i i+1 r=1 Από τις οριακές συνθήκες για i N 1: N 1, ενώ για i 1 θα χρησιμοποιήσουμε την οριακή συνθήκη μαζί με τη διαφορική εξίσωση: d d 1 d d Παρατηρούμε ότι lim lim dr lim dr r r r r dr r r dr d 3 1 3 Έτσι η (1) γράφεται: dr r 4 d Η οριακή συνθήκη dr r r Ο κόμβος i είναι φανταστικός. Συνδυάζοντας τις παραπάνω εξισώσεις προκύπτει η εξίσωση πεπερασμένων διαφορών στον κόμβο 1: 3 1 8 r To σύστημα που προκύπτει είναι τριδιαγώνιο και επιλύεται με αλγόριθμο Thomas: Για τον υπολογισμό της ζητούμενης γωνίας έχουμε: ενώ ο υπολογισμός του ολοκληρώματος R r r( r) dr r r... r r 1 1 N N N 1 N 1 R R 4 G r( r) dr M r () r drθα γίνει με κανόνα τραπεζίου:

Πρόγραμμα Fortran: Program askhsh4 implicit none doubleprecision,allocatable::a(:),b(:),c(:),d(:),x(:),r(:) doubleprecision:: dr,q,s,g,m,pi,theta integer::n,i,status= pi=acos(-1.) n=3!arithmos diasthmatwn -> n+1 komboi allocate(a(n),b(n),c(n-1),x(n+1),d(n),r(n+1)) if (status/=) Stop 'Not enough memory' dr=1./n do i=1,n+1 r(i)=(i-1)*dr x(n+1)= b(1)=1. c(1)=-1. do i=,n a(i)=1./dr**-1./(.*r(i)*dr) b(i)=-./dr** if (i<n) then c(i)=1./dr**+1./(.*r(i)*dr) end if d(1)=3.*dr**/8. do i=,n d(i)=-3./. print*, '-------------' call Thomas(n,a,b,c,d,x) do i=1,n print '(I3,"u(",F1.5,") = ",D.5,D.5)',i,r(i),x(i),(1- r(i)**)*3./8. print '(I3,"u(",F1.5,") = ",D.5,D.5)',n+1,r(n+1),.,.!Ypologismos oloklirwmatos s= do i=,n s=s+*r(i)*x(i) s=dr*(s+r(1)*x(1)+r(n+1)*x(n+1))/.!print*,s print*,'dwste th roph' read*,m print*,'dwste to G' read*,g!ypologismos gwnias theta theta=m/(4.*g*pi*s) print*, 'theta=',theta contains subroutine Thomas(n,a,b,c,d,x) integer,intent(in) :: n doubleprecision, INTENT(INOUT) ::a(n),b(n),c(n),d(n) doubleprecision, INTENT(OUT) ::x(n) integer::i doubleprecision ::t(n),u(n) t(1)=b(1) u(1)=d(1)/t(1) do i=,n t(i)=b(i)-a(i)*c(i-1)/t(i-1)

u(i)=(d(i)-a(i)*u(i-1))/t(i) x(n)=u(n) do i=n-1,1,-1 x(i)=u(i)-c(i)/t(i)*x(i+1) end subroutine Thomas end program Για N 5 τα αποτελέσματα έχουν ως εξής: Κόμβος r Αριθμητική τιμή της Αναλυτική τιμή της 1 3.75E-1 3.75E-1. 3.75E-1 3.75E-1 3.4 3.74E-1 3.74E-1 4.6 3.74E-1 3.74E-1 5.8 3.73E-1 3.73E-1 6.1 3.71E-1 3.71E-1 7.1 3.7E-1 3.7E-1 8.14 3.68E-1 3.68E-1 9.16 3.65E-1 3.65E-1 1.18 3.63E-1 3.63E-1 11. 3.6E-1 3.6E-1 1. 3.57E-1 3.57E-1 13.4 3.53E-1 3.53E-1 14.6 3.5E-1 3.5E-1 15.8 3.46E-1 3.46E-1 16.3 3.41E-1 3.41E-1 17.3 3.37E-1 3.37E-1 18.34 3.3E-1 3.3E-1 19.36 3.6E-1 3.6E-1.38 3.1E-1 3.1E-1 1.4 3.15E-1 3.15E-1.4 3.9E-1 3.9E-1 3.44 3.E-1 3.E-1 4.46.96E-1.96E-1 5.48.89E-1.89E-1 6.5.81E-1.81E-1 7.5.74E-1.74E-1 8.54.66E-1.66E-1 9.56.57E-1.57E-1 3.58.49E-1.49E-1 31.6.4E-1.4E-1 3.6.31E-1.31E-1 33.64.1E-1.1E-1 34.66.1E-1.1E-1 35.68.E-1.E-1

36.7 1.91E-1 1.91E-1 37.7 1.81E-1 1.81E-1 38.74 1.7E-1 1.7E-1 39.76 1.58E-1 1.58E-1 4.78 1.47E-1 1.47E-1 41.8 1.35E-1 1.35E-1 4.8 1.3E-1 1.3E-1 43.84 1.1E-1 1.1E-1 44.86 9.77E- 9.77E- 45.88 8.46E- 8.46E- 46.9 7.13E- 7.13E- 47.9 5.76E- 5.76E- 48.94 4.37E- 4.37E- 49.96.94E-.94E- 5.98 1.49E- 1.49E- 51 1.E+.E+ Η αριθμητική και αναλυτικής λύση ταυτίζονται σε κάθε κόμβο σε τρία σημαντικά ψηφία.