ΦΥΣ 145 Λύσεις Ενδιάμεσης Εξέτασης Χ. Παναγόπουλος 12/3/2015

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΕΦΑΡΜΟΣΜΕΝΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΦΥΣ 145: Υπολογιστικές Μέθοδοι στη Φυσική Εαρινό Εξάµηνο 2019

Εισαγωγή στο Gnuplot. Σφυράκης Χρυσοβαλάντης

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΕΦΑΡΜΟΣΜΕΝΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΦΥΣ 145: Υπολογιστικές Μέθοδοι στη Φυσική Εαρινό Εξάµηνο 2019

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

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

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

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

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

8 FORTRAN 77/90/95/2003

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

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

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

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

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

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

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

Δομή προγράμματος στη Fortran

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

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

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

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Λύσεις στο Επαναληπτικό Διαγώνισμα 2

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στο Unix

Κεφάλαιο 2 : Περιγραφή της Κίνησης. Υπολογιστική Φυσική Ι. Αναγνωστόπουλος Κωνσταντίνος

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

Δομή προγράμματος στη Fortran

Ο τελεστής ανάθεσης και οι εντολές εισόδουεξόδου

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

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

Εντολές Επανάληψης. Επικ. Καθ. Ν. Καραµπετάκης, Τµήµα. Τµήµα Μαθηµατικών, Α.Π.Θ.

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

Μερικές άλλες χρήσιμες εντολές

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

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Υπολογιστές Ι. Άδειες Χρήσης. Υποπρογράμματα. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

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

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

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

bits and bytes q Ο υπολογιστής χρησιμοποιεί τη κύρια μνήμη για αποθήκευση δεδομένων

α. y = y x 2 β. x + 5x = e x γ. xy (xy + y) = 2y 2 δ. y (4) + xy + e x = 0 η. x 2 (y ) 4 + xy + y 5 = 0 θ. y + ln y + x 2 y 3 = 0 d 3 y dy + 5y

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

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

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

Non Linear Equations (2)

ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ

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

Προγραµµατισµός Ι Εργαστήριο 3ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

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

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

Εξίσωση Διάχυσης στη Μία Διάσταση

Εξίσωση Διάχυσης στη Μία Διάσταση

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ ΕΡΓΑΣΤΗΡΙΟ ΑΠΑΙΤΗΣΕΙΣ ΚΑΙ ΔΙΑΔΙΚΑΣΙΑ ΕΞΕΤΑΣΗΣ

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

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

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

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

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

Συμβολικά ονόματα που δίνονται σε θέσεις μνήμης όπου αποθηκεύονται αριθμοί. ιεύθυνση

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

Προγραμματισμός PASCAL

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

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

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

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Modbus basic setup notes for IO-Link AL1xxx Master Block

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

ΕΙΣΑΓΩΓΗ ΣΤΗΝ FORTRAN 77

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

ΦΥΣ Διαλ.03. Ø Εντολές ελέγχου και λογικής. Ø Εντολές µεταφοράς. Ø Βρόγχοι επανάληψης εντολών. Ø Βρόγχοι επανάληψης µε λογικές σχέσεις

2.3 Επιπλέον συναρτήσεις για δισδιάστατα γραφικά

Εξίσωση Διάχυσης στη Μία Διάσταση

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»


Transcript:

Οι εντολές είναι: ΦΥΣ 145 Λύσεις Ενδιάμεσης Εξέτασης Χ. Παναγόπουλος 12/3/2015 ls -l../lab3/*/data* cp../lab3/*/plot*../lab3 mkdir../lab1/plot grep FORMAT../*/prog*.f chmod o+r../lab*/*/plot2 cd../lab3/exercise1 Άσκηση 1 Οι πληροφορίες στον κατάλογο ερμηνεύονται ως εξής: αρχικό - : Το αρχείο είναι συνηθισμένο (δηλαδή όχι φάκελλος ή link ή socket ή κάτι άλλο) rwxrw-r-- : Ο ιδιοκτήτης του αρχείου μπορεί να το διαβάσει/αντιγράψει (r), να το τροποποιήσει/σβήσει (w), και να το θέσει σε εφαρμογή (x). Χρήστες που είναι στην "ομάδα" του αρχείου έχουν δικαιώματα ανάγνωσης/αντιγραφής και τροποποίησης/σβησίματος (rw-). Χρήστες έξω από την ομάδα έχουν μόνο άδεια ανάγνωσης/αντιγραφής (r--). 1 : Αριθμός συνδέσμων του αρχείου (για συνήθη αρχεία είναι 1) george : Το όνομα του ιδιοκτήτη του αρχείου phy145 : Το όνομα της ομάδας του αρχείου 830 : Ο αριθμός των bytes που καταλαμβάνει το αρχείο Mar 29 : Ημερομηνία τελευταίας τροποποίησης του αρχείου 22:24 : Ώρα τελευταίας τροποποίησης του αρχείου input1 : Όνομα του αρχείου Άσκηση 2 Αποθήκευση αριθμών διπλής ακρίβειας: Όρα σημειώσεις 1ης διάλεξης Μέθοδος Newton-Raphson: e i ~ e i-12. Μέθοδος διχοτόμησης: e i = e i-1 /2.

Άσκηση 3 C Το πρόγραμμα αυτό διαβάζει από ένα αρχείο το όνομα και την ηλικία C μέχρι 100 ατόμων, και τα ταξινομεί με σειρά ηλικίας. Συνομήλικοι C καταχωρούνται με αλφαβητική σειρά. program AgeAndNameSort! Τα ονόματα και οι ηλικίες στην αρχική σειρά, και στην τελική! Υποθέτουμε ότι το αρχείο περιέχει μέχρι 100 ονόματα/ηλικίες character*15 name(100), namesort(100) integer age(100), agesort(100) integer i, j, k, n open(unit=8, file='phy145proodos2015_ask3.input', status='old') do i = 1, 100! Διαβάζουμε έως 100 ονόματα/ηλικίες read(8,*,end=1) name(i), age(i) write(*,*) 'WARNING: Reached a limit of 100 names/ages!!' 1 n = i-1! Ο αριθμός των ονομάτων/ηλικιών που διαβάστηκαν do i = 1, n! Θα ταξινομήσουμε το i-οστό όνομα/ηλικία do j = 1, i-1! Το συγκρίνουμε με τα i-1 ταξινομημένα ονόματα if(age(i).lt.agesort(j).or. & age(i).eq.agesort(j).and. name(i).lt.namesort(j)) goto 2 2 do k = i-1, j, -1! Τα ονόματα στις θέσεις j έως i-1 namesort(k+1) = namesort(k)! θα μετατοπιστούν ένα βήμα πιο agesort (k+1) = agesort (k)! πέρα, ώστε να ανοίξει χώρος για! το i-οστό όνομα. namesort(j) = name(i)! Τώρα τοποθετούμε το i-οστό όνομα agesort (j) = age (i)! στη σωστή, ταξινομημένη θέση του open(unit=9, file='phy145proodos2015_ask3.output', status='new') write(9,*) ' Names Ages' do i = 1, n write(9,3) namesort(i), agesort(i) 3 format(2x,a15,2x,i3) stop end

Θέτουμε το πρόγραμμα σε λειτουργία, με αρχείο εισόδου: Το αρχείο εξόδου είναι: George 15 Maria 7 Alexis 7 Nikos 14 Vasilis 15 Names Ages Alexis 7 Maria 7 Nikos 14 George 15 Vasilis 15 Άσκηση 4 Οι εξισώσεις που απορρέουν από το νόμο του Νεύτωνα είναι: m ẍ = V / x = 292x + 144y, m ÿ = V / y = 208y + 144x Θέτοντας m = 1, και ορίζοντας: v x = ẋ, v y = ẏ, φτάνουμε σ'ένα σύστημα 4 εξισώσεων πρώτης τάξης: ẋ = v x, v x = 292x + 144y, ẏ = v y, v y = 208y + 144x Οι αρχικές συνθήκες είναι: x (0) = 0, v x (0) = 10, y(0) = 1, v y (0) = 0

program Harmonic Oscillator implicit none real*8 x, xinitial, xfinal, vx, vxinitial, xnew real*8 y, yinitial, yfinal, vy, vyinitial, ynew real*8 t, tinitial, tfinal, dt, precision integer n, i, fileunit xinitial = 0.d0 xfinal = 1.d200! Μια αυθαίρετα μεγάλη τιμή yinitial = 1.d0 yfinal = 1.d200! Μια αυθαίρετα μεγάλη τιμή vxinitial = 10.d0 vyinitial = 0.d0 tinitial = 0.d0 tfinal = 1.d0 fileunit = 11! Σε ποιο αρχείο θα γράφουμε; Αυθαίρετη τιμή (>6) write(*,*) 'Enter values for initial step and desired precision' read(*,*) dt, precision 1 n = (tfinal-tinitial)/dt t = tinitial x = xinitial y = yinitial vx = vxinitial vy = vyinitial write(fileunit,*) t, x, y, vx, vy do i = 1, n xnew = x + dt * vx! Προσωρινά σώζουμε τη νέα ynew = y + dt * vy! τιμή των x και y. vx = vx + dt * (-292*x + 144*y)! Ενημερώνουμε τα vx και vy, vy = vy + dt * (-208*y + 144*x)! χρησιμοποιώντας παλιά x,y x = xnew! Τώρα σώζουμε τις νέες τιμές y = ynew! των x,y που είχαμε βρει t = t + dt write(fileunit,*) t, x, y, vx, vy if (abs(x-xfinal)+abs(y-yfinal).lt.precision) goto 2! Οι νέες fileunit = fileunit+1! τελικές τιμές συμφωνούν με dt = dt/10! αυτές που είχαμε βρει πριν; xfinal = x! Αν όχι, επανάλαβε τον υποyfinal = y! λογισμό με μικρότερο βήμα goto 1 2 write(*,*) 'Reached a precision of: ', precision write(*,*) 'using step size: ', dt stop end Θέτουμε σε λειτουργία το πρόγραμμα:

proodos$ gfortran -o PHY145proodos2015_ask4.x PHY145proodos2015_ask4.f proodos$./phy145proodos2015_ask4.x Enter values for initial step and desired precision 0.1 1.d-3 Reached a precision of: 1.0000000000000000E-003 using step size: 1.0000000000000002E-006 proodos$ Παρατηρούμε ότι χρειάστηκε ένα πάρα πολύ μικρό βήμα για να επιτύχουμε μια ικανοποιητική ακρίβεια. Αυτό είχε ως συνέπεια τόσο σπατάλη χρόνου CPU (~ 8sec), όσο και σπατάλη χώρου (μέγεθος αρχείων εξόδου: ~ 150 ΜΒ). Σχεδιάζουμε την τροχιά y(x) με το λογισμικό gnuplot: gnuplot> plot 'fort.12' using 2:3 t 'dt = 0.01', 'fort.13' using 2:3 t 'dt = 0.001' with dots, 'fort.14' using 2:3 t 'dt = 0.0001' with dots gnuplot> set title 'Harmonic Oscillator' gnuplot> set xlabel 'x' gnuplot> set ylabel 'y' gnuplot> set term epscairo Terminal type set to 'epscairo' Options are ' transparent fontscale 0.5 size 5.00in, 3.00in ' gnuplot> set out 'PHY145proodos2015_ask4.eps' gnuplot> replot Παρατηρούμε ότι για dt = 0.01 τα αποτελέσματα είναι τελείως αναξιόπιστα, ενώ καθώς το dt μικραίνει αρχίζουν και συγκλίνουν όλο και πιο πολύ. Στο πρόβλημα αυτό μπορούμε να υπολογίσουμε και την ακριβή λύση, η οποία συμφωνεί με το πιο πάνω γράφημα. x(t) = (1/ 25) [9 sin(10t)+12 cos(10t)+8 sin(20t) 12cos(20t)] y(t) = (1/ 25) [12sin(10t)+16 cos(10t) 6 sin(20t)+9 cos(20t)]