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

Σχετικά έγγραφα
Παράδειγμα #4 EΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΑΛΓΕΒΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΜΕΘΟΔΟΥΣ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

i. Επιλύστε με απαλοιφή Gauss μερικής οδήγησης το σύστημα:

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

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

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

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός

0.5, Μεταφορά θερμότητας ανάμεσα σε κυλίνδρους μεγάλου μήκους (χωρίς ασπίδα):

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

Πίνακες. (i) FORTRAN και Αντικειµενοστραφής Προγραµµατισµός

Μορφοποίηση της εξόδου

IMPLICIT NONE INTEGER :: a, b, c

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

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

Παράδειγμα #3 ΡΙΖΕΣ ΕΞΙΣΩΣΕΩΝ ΕΠΙΜΕΛΕΙΑ: ΓΙΑΝΝΗΣ ΛΥΧΝΑΡΟΠΟΥΛΟΣ

ιαφάνειες παρουσίασης #6

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

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

5269: Υπολογιστικές Μέθοδοι για Μηχανικούς. Εύρεση Ριζών.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας

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

Εφαρμογή της μεθόδου πεπερασμένων διαφορών στην εξίσωση θερμότητας

Υπολογισμός - Εντολές Επανάληψης

Ανάκληση Πληροφορίας. Διδάσκων Δημήτριος Κατσαρός

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

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

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

διακριτοποίηση αριθµητική παραγώγιση

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

ΚΕΦΑΛΑΙΟ 2. Περιγραφή της Κίνησης. 2.1 Κίνηση στο Επίπεδο

Ει αγωγή η Fortran.

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

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

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

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

GMRES(m) , GMRES, , GMRES(m), Look-Back GMRES(m). Ax = b, A C n n, x, b C n (1) Krylov.

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

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

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

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

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

ES440/ES911: CFD. Chapter 5. Solution of Linear Equation Systems

Είσοδος -Έξοδος. Άνοιγµα αρχείου:

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

Oι εντολές COMMON και PARAMETER

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Παράδειγμα #2 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΚΑΙ ΡΙΖΕΣ ΕΞΙΣΩΣΕΩΝ. ΕΠΙΜΕΛΕΙΑ: Σ. Βαρούτης

ιαφάνειες παρουσίασης #5

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

Δομές ελέγχου & επανάληψης

Εισαγωγή στην πληροφορική

ΘΕΜΑ 2ο. Άσκηση εφαρµογής της µεθόδου Newton Raphson

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

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

Παράλληλη Επεξεργασία Κεφάλαιο 9 ο Επιµερισµός εδοµένων

Fortran και Αντικειµενοστραφής προγραµµατισµός.

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η

ΑΠΑΝΤΗΣΕΙΣ. α- Σωστό β- Σωστό γ- Λάθος δ- Λάθος ε- Σωστό στ- Σωστό

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Κεφάλαιο 12: Υδραυλική ανάλυση δικτύων διανομής

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

Αριθμητική Λύση Μη Γραμμικών Εξισώσεων Η ΜΕΘΟ ΟΣ ΤΗΣ ΙΧΟΤΟΜΙΣΗΣ 01/25/05 ΜΜΕ 203 ΙΑΛ 2 1

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

Άσκηση εφαρμογής της μεθόδου Newton Raphson

Μονοδιάστατοι πίνακες

Ασκήσεις Γενικά Μαθηµατικά Ι Οµάδα 5 (λύσεις)

Συστημάτα Ηλεκτρικής Ενέργειας Ι

Fortran και Αντικειμενοστραφής προγραμματισμός.

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Λυμένες Aσκήσεις. Άσκηση 1 Για καθέναν από τους παρακάτω γραμμικούς γράφους (i) (iii):

( ) ( ) ( ) ( ) ενώ η εξίσωση της παραβολής είναι η

Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα

8 FORTRAN 77/90/95/2003

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

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

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

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

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN

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

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

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

ΠΑΡΑΔΕΙΓΜΑΤΑ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΕΡΕΥΝΑΣ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ (3 ο Φυλλάδιο)

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

Transcript:

Παράδειγμα # EΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΑΛΓΕΒΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΕΘΟΔΟ NEWTON ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης Άσκηση Να επιλυθεί το παρακάτω μη γραμμικό σύστημα με την μέθοδο Newton: ( ) ( ) f, = + = 0 f, = + 8= 0 ( ) N ( k ) ( k) Να χρησιμοποιηθεί κριτήριο τερματισμού: ε = i i < 0 N i= Απάντηση: + Επειδή το μη-γραμμικό σύστημα είναι απλό μπορεί να λυθεί αναλυτικά με Mathematica ως: f = + - ; f = ^ + ^ - 8; Solve[{f== 0, f == 0}, {, }] Προκύπτουν αναλυτικές λύσεις: {{ -> 0, -> }, { ->, -> 0}} Ο κώδικας που επιλύει το παραπάνω μη γραμμικό σύστημα σε Fortran είναι: program Newton_ implicit none integer,parameter::n= integer::i,j,iter,maiter real*8:: Det,Det,Det,rel,err,tstart,tend real*8::old(n),new(n)!find program start time call cpu_time(tstart)!open output file open (00,file="Newton_results.dat")!Definition of Newton parameters maiter=0000 rel=d- old()=0 ; old()=0. err=. iter=0!write initial guess to output file write(00,"(a)") "----------------------------------" write(00,"(a,)") "--------- Initial guess ----------" write(00,"(a)") "----------------------------------"

do i=,n write(00,"((a,i0),a,es0.0)") "",iter,"(",i,")=",old(i) end do!computations for the Jacobi method do while (iter<=maiter.and. err>=rel)!find new Det=f(old(),old())*df(old(),old())- f(old(),old())*df(old(),old()) Det=f(old(),old())*df(old(),old())- f(old(),old())*df(old(),old()) Det=df(old(),old())*df(old(),old())- df(old(),old())*df(old(),old()) new()=old()-det/det new()=old()-det/det!find error err = sqrt(sum((new-old)**))/n old = new iter=iter+!write results to output file write(00,"(a)") "----------------------------------" write(00,"(a,i,a)") "--------- Iteration ",iter," ---------" write(00,"(a)") "----------------------------------" write(00,"(a,es.)") "The error is : ",err do i=,n write(00,"((a,i0),a,es0.0)") "",iter,"(",i,")=",new(i) end do end do!write results to screen If (iter>maiter) then write(*,"(a)") "For in each iteration open file Newton_results.dat..." write(*,*) write(*,"(a,i0,a)") "Solution didn't converge after: ",iter," iterations." else write(*,"(a)") "For in each iteration open file Newton.dat..." write(*,*) write(*,"(a,i0,a,es.4)") "Solution converged after: ",iter," iterations with error: ",err write(*,"(a)") "Solution of non-linear system given below:" do i=,n write(*,"(a,i0,,a,es0.0)")"(",i,")=",new(i) end do endif!find program end time call cpu_time(tend) write(*,"(a,es4.4,x,a)") "Program has used", tend-tstart,"seconds of CPU time." write(00,"(a)") "----------------------------------------------------" write(00,"(a,es4.4,x,a)") "Program has used", tend-tstart,"seconds of CPU time."

!Close output file close(00) Contains real*8 function f(,) real*8::, f=+-. end function f real*8 function f(,) real*8::, f=**.+**.-8. end function f real*8 function df(,) real*8::, df=. end function df real*8 function df(,) real*8::, df=. end function df real*8 function df(,) real*8::, df=.***. end function df real*8 function df(,) real*8::, df=.***. end function df end Από την μορφή του μη γραμμικού συστήματος προκύπτει ότι f f f f = +. Για να αποφθεχθεί διαίρεση με μηδέν θα πρέπει στην αρχική εκτίμηση να ισχύει ±. (0) (0) (0) Ο παραπάνω κώδικας για αρχική εκτίμηση = (0,) συγκλίνει μετά από 6 επαναλήψεις στη -7 πρώτη λύση με σφάλμα 6.074 0. Τα αποτελέσματα του κώδικα παρουσιάζονται στον παρακάτω πίνακα. Αριθμός επαναλήψεων 0 4 6 0.000000 -. -0.809-0.04-0.00-0.00000 0.000000.000000..809.04.00.00000.000000

(0) Για την δεύτερη λύση ο παραπάνω κώδικας για αρχική εκτίμηση = (, 0) συγκλίνει μετά από -7 6 επαναλήψεις με σφάλμα 6.074 0. Τα αποτελέσματα του κώδικα παρουσιάζονται στον παρακάτω πίνακα. Αριθμός επαναλήψεων 0 4 6.000000..809.04.00.00000.000000 0.000000 -. -0.809-0.04-0.00-0.00000 0.000000 Άσκηση Να επιλυθεί το παρακάτω μη γραμμικό σύστημα με την μέθοδο Newton: + 4 = + = 7 9 9 + = ( ) N ( k+ ) ( ) Να χρησιμοποιηθεί κριτήριο τερματισμού: k ε = 0 6 i i < N i= Απάντηση: Επιλύοντας το παραπάνω σύστημα με Mathematica προκύπτουν 0 λύσεις εκ των οποίων οι είναι πραγματικές ενώ οι υπόλοιπες 8 μιγαδικές. Στην παρούσα εργασία θα εξεταστούν μόνο πραγματικές λύσεις. Η εύρεση μόνο πραγματικών λύσεων με Mathematica γίνεται ως: NSolve[{*^ + *^ - 4* ==, * - *^ + == -7, 9* + *^ == 9}, {,, }, Reals] Με τον παραπάνω κώδικα προκύπτουν οι πραγματικές λύσεις: {{ -> 40.994, -> -0.46, ->.848}, { -> -.4670, -> 0.70, -> 0.977}} Ο κώδικας που επιλύει το παραπάνω πρόβλημα σε Mathematica δίνεται παρακάτω. f = {*^ + *^ - 4* -, * - *^ + + 7, 9* + *^ - 9}; par = {,, }; spar = {s, s, s}; 0 = {0, -, }; maiter = 00; err =.*0^-6; J = Table[D[f[[i]], par[[j]]], {i, Length[f]}, {j, Length[f]}]; k = 0; error =.; While[error > err, k = k + ; If[k > maiter, Break[]]; roule = Table[par[[i]] -> 0[[i]], {i, Length[f]}]; 4

J0 = J /. roule // N; F0 = f /. roule; s = LinearSolve[J0, F0] // N; 0 = 0 - s; error = Sqrt[Sum[s[[i]]^., {i, Length[s]}]]/Length[s] // N; Print["---------------------------------"]; Print["Iteration:", k]; Print["LinearSystem:", MatriForm[J0], "*", MatriForm[spar], "=", MatriForm[F0]]; Print["\[Sigma]=", MatriForm[s]]; Print["=", MatriForm[0]]; Print["Error=", error];] (0) Για την εύρεση της πρώτης λύσης επιλέγεται αρχική εκτίμηση = (0,,). Η μέθοδος Newton συγκλίνει μετά από 9 επαναλήψεις με σφάλμα 6.789 0 9. Τα αποτελέσματα του κώδικα σε κάθε επανάληψη παρουσιάζονται παρακάτω: η επανάληψη (0) (0) () 80 4 σ 404 σ.70.70 (0) (0) () 0 σ 6 σ.9804 0.9804 (0) (0) () 0 9 6σ 7σ 0.99099 4.0069 η επανάληψη () () () 6.88 08. 4 σ 976.8 σ.748 87.464 () () () 4.96 σ 7.04 σ 4.699. 6799 () () () 0 9 6444.8σ 06.49σ 0.77808.88 η επανάληψη () () () 49.86.74 4 σ 70.8 σ 0.7 6.89 () () () 6.797 σ 44.7 σ.096.9 () () () 0 9 77.σ 604.σ 0.6009.6786 4 η επανάληψη () () (4) 7.7 4.78 4 σ 6.98 σ. 4.78 () () (4) 0.9 σ 9.87 σ.70 0.89 () () (4) 0 9 9.σ 04.8σ 0.4674.949 η επανάληψη (4) (4) () 7.6 0.86 4 σ 8.0044 σ.8 40.446 (4) (4) () 4.67 σ.869 σ 0.777 0. 887 (4) (4) () 0 9 76.6σ 46.9σ 0.60.999

6 η επανάληψη () () (6) 6.78 9.7 4 σ 4.647 σ 0.9977 40.06 () () (6) 4. σ 0.8 σ 0.04494 0.48 () () (6) 0 9 46.4σ.08σ 0.09778.86 7 η επανάληψη (6) (6) (7) 60.8 944.49 4 σ 7.6E 0 σ 6.78E 0 40.99 (6) (6) (7) 40.97 σ 4.09E 0 σ.86e 0 0.46 (6) (6) (7) 0 9 8.8σ.0079σ.064E 0.8498 8 η επανάληψη (7) (7) (8) 60.798 944. 4 σ.76e 0 σ 7.6E 0 40.994 (7) (7) (8) 40.970 σ.8e 06 σ.e 0 0.46 (7) (7) (8) 0 9 77.4σ.478E 0σ.8E 04.848 9 η επανάληψη (8) (8) (9) 60.798 944.98 4 σ.67e 09 σ.04e 08 40.994 (8) (8) (9) 40.9704 σ.08e 0 σ.704e 09 0.46 (8) (8) (9) 0 9 77.7σ 4.809E 06σ.740E 08.848 (0) Για την εύρεση της δεύτερης λύσης επιλέγεται αρχική εκτίμηση = (,,). Η μέθοδος Newton συγκλίνει μετά από 9 επαναλήψεις με σφάλμα 4. 0 7. Τα αποτελέσματα του κώδικα σε κάθε επανάληψη παρουσιάζονται παρακάτω: η επανάληψη (0) (0) () 4 9 4 σ 0 σ.6696 0.6696 (0) (0) () 4 σ σ 0.689.689 (0) (0) () 0 9 σ σ 0.4064 0.978 η επανάληψη () () ().6766.988 4 σ 8.9888 σ 0.46004.96 () () () 6.8 σ 0.670 σ 0.64.0 () () () 0 9.8σ.4467σ 0.6469 0.989 η επανάληψη () () () 4.704 9.9464 4 σ.7079 σ 0.40.708 () () () 4.0 σ 0.6 σ 0.08496 0.96774 () () () 0 9 0.0769σ 0.487σ 0.87786.07 6

4 η επανάληψη () () (4).084 8.489 4 σ 0.099 σ 0.078996.4888 () () (4).870 σ 0.094 σ 0.97 0.8088 () () (4) 0 9.696σ.709σ 0.0999.0008 η επανάληψη (4) (4) ().94.88 4 σ 0.48 σ 0.0784.474 (4) (4) (). σ 0.008 σ 0.9866 0.648 (4) (4) () 0 9.08σ.8994σ 0.078744 0.9670 6 η επανάληψη () () (6).7094.784 4 σ 0.899 σ 0.0476.46076 () () (6).9406 σ 0.04 σ 0.07786 0.76 () () (6) 0 9 8.477σ 0.899σ 0.097 0.94968 7 η επανάληψη (6) (6) (7).840.974 4 σ 0.0400 σ 0.0060087.46678 (6) (6) (7).99 σ 0.04 σ 0.0 0.770 (6) (6) (7) 0 9 0.σ 0.07σ 0.008674 0.9497 8 η επανάληψη (7) (7) (8).8674.7998 4 σ.06e 0 σ.46e 04.4670 (7) (7) (8).08 σ 4.87E 04 σ 6.687E 04 0.70 (7) (7) (8) 0 9 0.88σ.48E 0σ.88E 04 0.976 9 η επανάληψη (8) (8) (9).868.797 4 σ.64e 06 σ 4.09E 07.4670 (8) (8) (9).8 σ 8.94E 07 σ.4e 06 0.70 (8) (8) (9) 0 9 0.87σ.089E 06σ.9E 07 0.977 7

Άσκηση Θεωρήστε το δίκτυο σωληνώσεων του παρακάτω σχήματος. Σε κάθε κόμβο όπου δεν είναι γνωστή η πίεση ισχύει η σχέση = = 0 C P P Qij ( Pi Pj ) i i ij i j 4 όπου Cij = CLij / Dij και C = 6 0. Να βρεθούν με την μέθοδο Newton οι πιέσεις των κόμβων, 4 και. Με βάση τις πιέσεις του δικτύου να βρεθούν οι παροχές Q, Q 4, Q, Q, Q 4. ( ) N ( k ) ( k) Να χρησιμοποιηθεί κριτήριο τερματισμού: ε = i i < 0 N i= + 6 Απάντηση: Αρχικά γράφονται οι εξισώσεις για τους κόμβους, 4 και ως: D D D + + = 0 CL P P CL P P CL P P ( P P) ( P P ) ( P P ) D + D = 0 4 4 4 CL4 P4 P CL4 P4 P 4 ( P P) ( P P ) D + D = 0 4 4 CL P P CL4 P P4 ( P P ) ( P P ) 8

Αντικαθιστώντας τα δεδομένα του παραπάνω δικτύου προκύπτει το μη-γραμμικό σύστημα: ( P ).96P ( P P ).96 0 0.69 + + = 0 P 0 P P P ( P 0) ( P P ) 4 4 + = 0 P 0 P P 4 4 ( P 0) ( P P ) 4 4 + = 0 P 0 P P 4 4 Ο κώδικας που επιλύει το παραπάνω πρόβλημα σε Mathematica δίνεται παρακάτω. f=.96*(p-0)/sqrt[sqrt[(p-0)^]]+.96*(p)/sqrt[sqrt[(p)^]]+0.69*(p-p)/sqrt[sqrt[(p-p)^]]//n; f=(p4-0)/sqrt[sqrt[(p4-0)^]]+ (P4-P)/Sqrt[Sqrt[(P4-P)^]]//N; f=(p-p)/sqrt[sqrt[(p-p)^]]+ (P-P4)/Sqrt[Sqrt[(P-P4)^]]//N; f={f,f,f}; par={p,p4,p}; spar={s,s4,s}; 0={0,0,0}; maiter=00; err=.*0^-6; J=Table[D[f[[i]],par[[j]]],{i,Length[f]},{j,Length[f]}]; k=0; error=.; While[error>err, k=k+; If[k>maiter,Break[]]; roule=table[par[[i]]->0[[i]],{i,length[f]}]; J0=J/.roule//N; F0=f/.roule; s=linearsolve[j0,f0]//n; 0=0-s; error=sqrt[sum[s[[i]]^.,{i,length[s]}]]/length[s]//n; Print["---------------------------------"]; Print["Iteration:",k]; Print["LinearSystem:",MatriForm[J0],"*",MatriForm[spar],"=",MatriForm[F0 ]]; Print["σ=",MatriForm[s]]; Print["=",MatriForm[0]]; Print["Error=",error];] Παρατηρείται πως για να μην προκύψει διαίρεση με μηδέν στις εξισώσεις του δικτύου θα πρέπει να ισχύει Pi Pj για κάθε ζευγάρι κόμβων i, j που συνδέονται με αγωγό. Σύμφωνα με τα παραπάνω για το δοσμένο δίκτυο θα πρέπει P P, P P4, P P, P P, P4 P. 9

(0) Ο παραπάνω κώδικας με αρχική εκτίμηση ( 0, 0,0) P = συγκλίνει μετά από επαναλήψεις με σφάλμα 6.67 0. Παρακάτω δίνονται τα αποτελέσματα των πιέσεων στους κόμβους, και 4 σε ενδεικτικές επαναλήψεις. Αριθμός επαναλήψεων 0 4 7 0 P [ ] Pa 0.000 4. 7.74 8.79 40.0 9.48 40.640 4.47 4.867 P [ ] 4 Pa 0.000 60.68.87 7.9.8..696 47.97 47.6 P [ ] Pa 0.000 8.78 4.47 7.0 44. 9.68 4.67 4.740 4.4 Έχοντας πλέον υπολογίσει τις πιέσεις του δικτύου οι παροχές μπορούν να υπολογιστούν ως: Οπότε προκύπτει: ij ij = ( i j) = ( i j) Cij Pi Pj CLij Pi Pj Q P P P P Q = 8.8 gal / min Q, = 40. gal / min D Q, 4 = Q4 = Q = 0.4 gal / min Παρατηρείται πως ισχύει η εξίσωση συνέχειας στου κόμβους μη γνωστής πίεσης, 4,. Επίσης, παρατηρείται πώς το μεγαλύτερο κομμάτι της ροής περνάει από τους αγωγούς -4, 4-, - παρόλο που το συνολικό μήκος σωλήνωσης είναι διπλάσιο από το αντίστοιχο μήκος του αγωγού -. Το παραπάνω δικαιολογείται λόγω της μεγαλύτερης διαμέτρου των αγωγών -4, 4-, -. 0. και λόγω του ότι η παροχή είναι ανάλογη του D / L. 0

Άσκηση 4 Δίνεται το παρακάτω μη γραμμικό σύστημα όπου P μια αυθαίρετη σταθερά: 6 = + + 7 4 = ( + + 4 ) 4 7 = ( + + ) 7 49 + + + = 6 887 9009 78 897 4 847 0690 0 7 7 + + + 4 + = P =.787 0 4 = 4.608 Να επιλυθεί το παραπάνω μη γραμμικό σύστημα με την μέθοδο Newton για μια τιμή της αυθαίρετης σταθεράς πίεσης P της επιλογής σας. N ( k+ ) ( ) Να χρησιμοποιηθεί κριτήριο τερματισμού: ( k ) ε = 0 6 i i < N Σημειώνεται ότι το σύστημα των 7 εξισώσεων μοντελοποιεί την χημικές αντιδράσεις παραγωγής συνθετικού αερίου καύσης και οι άγνωστοι έως και είναι οι συγκεντρώσεις των αερίων CO, CO, HO, H και CH4 αντίστοιχα, ενώ οι άγνωστοι 6 και 7 είναι επίσης συγκεντρώσεις άλλων αερίων στη διαδικασία καύσης. Απάντηση: Αρχικά οι παραπάνω εξισώσεις πρέπει να αναδιαταχθούν ώστε να έρθουν στην μορφή f (,,, 4,, 6, 7) = 0. Το ισοδύναμο σύστημα γράφεται ως: 6 0 7 = + 4 + = 0 7 + + = 0 7 49 6 887 9009 78 + 897 + 4 847 + 0690 0 7 = 7 + + + 4 + = 0 P i=.787 0 = 0 4.608 = 0 4

Ο κώδικας που επιλύει το παραπάνω πρόβλημα σε Mathematica δίνεται παρακάτω. P=0. f={6/7-0.--0., +4+*-/7, ++-/7, -887*-9009*-78*+897*4+847*+49/7-0690*6/7, +++4+-, P^**4^-.787*0^**, *-.608**4}; par={,,,4,,6,7}; spar={s,s,s,s4,s,s6,s7}; 0={0.,0.,0.,0.,0.,0.,.}; MatriForm[0] maiter=00; err=.*0^-6; J=Table[D[f[[i]],par[[j]]],{i,Length[f]},{j,Length[f]}]; k=0; error=.; While[error>err, k=k+; If[k>maiter,Break[]]; roule=table[par[[i]]->0[[i]],{i,length[f]}]; J0=J/.roule//N; F0=f/.roule; s=linearsolve[j0,f0]//n; 0=0-s; error=sqrt[sum[s[[i]]^.,{i,length[s]}]]/length[s]//n; Print["---------------------------------"]; Print["Iteration:",k]; Print["LinearSystem:",MatriForm[J0],"*",MatriForm[spar],"=",MatriForm[F0 ]]; Print["σ=",MatriForm[s]]; Print["=",MatriForm[0]]; Print["Error=",error];] 0 Ο παραπάνω κώδικας για P = 0 και αρχική εκτίμηση = 0., 0, 0, 0., 0, 0., συγκλίνει σε 6 επαναλήψεις με σφάλμα 7.07 0 7. Η τιμή του σε κάθε επανάληψη δίνεται παρακάτω: ( ) ( ) Αριθμός επαναλήψεων 0 4 6 0.00000 0.07 0.048 0.08 0.88 0.87 0.87 0.000000 0.098 0.0074 0.009 0.009 0.0094 0.0094 0.000000 0.0676 0.08 0.0467 0.0460 0.04607 0.04607 4 0.00000 0.468 0.7998 0.6966 0.6809 0.687 0.687 0.000000 0.96 0.0489 0.0048 0.008 0.0077 0.0077 6 0.00000 0.4 0.46846 0. 0.784 0.7674 0.767.000000.9760.490.8800.97440.977860.977860 7