Download as pdf
Download as pdf
You are on page 1of 4

Πανεπιστήμιο Κρήτης – Τμήμα Φυσικής

Ονοματεπώνυμο: Ζαχαριουδάκης Νίκος


Αριθμός Μητρώου: 2980
Ημερομηνία παράδοσης αναφοράς: 15.12.2005

Εργαστηριακή Αναφορά
Μαθηματικό μοντέλο μελέτης σε PC:

∫ f΄ ( x=
)dx F ( x) + c με χρήση της γεννήτριας τυχαίων
αριθμών Monte Carlo

Ηλεκτρονικοί Υπολογιστές ΙΙ 1
Πανεπιστήμιο Κρήτης – Τμήμα Φυσικής

Φυσικό πρόβλημα:


Το μέτρο της συνισταμένης δύναμης Fx που δρα σε ένα σώμα μάζας m , το
οποίο κινείται κατά μήκος του άξονα x , μεταβάλλεται σύμφωνα με την
συναρτησιακή σχέση Fx (x ) = x 2 − 5 x + 6 , όπου το x είναι σε m και το Fx σε
Newton .

i. Βρείτε το συνολικό έργο που παράγεται καθώς το σώμα κινείται από


xi = 1m έως x f = 3m , με αναλυτικό και αριθμητικό τρόπο. Τι συμπεραίνετε;

Επίλυση φυσικού προβλήματος:

Ερώτημα i

Όσον αφορά την αναλυτική μέθοδο, έχουμε:

xf xf

∑W = ∫ F x ⋅ dx = ∫F x ⋅ dx ⇒
xi xi
3
 x3 
( )
3
x2 9 23 2
⇒∫ x − 5 x + 6 dx =  − 5 + 6 x  = −
2
= Joule
1 3 2 1 2 6 3

Όσον αφορά την αριθμητική μέθοδο, έχουμε:

Θα αναπτύξουμε κώδικα σε προγραμματιστική γλώσσα Fortran, ο οποίος


θα κάνει χρήση του βασικού ορισμού για το ορισμένο ολοκλήρωμα καθώς
και της γεννήτριας τυχαίων αριθμών Monte Carlo.

Βασικός ορισμός ορισμένου ολοκληρώματος:


.

b n

f ( x)dx ≈ ∑  f ( xi )
(b − a )

a i =1  n 

Monte Carlo:

r = rand ()

xi = a + r (b − a )

Ηλεκτρονικοί Υπολογιστές ΙΙ 2
Πανεπιστήμιο Κρήτης – Τμήμα Φυσικής

Κώδικας Fortran 77

c234567
program ergastiriaki_anafora_10
implicit none
real a,b,r,x(10000),sum,olok,u,f
integer i,n
print*, ""
print*, "Doste to kato kai ano orio olokliroseos."
read*, a,b
print*, ""
print*,"Doste ton arithmo ton stoixeiodon diamerismaton tou xoriou
&."
read*, n
print*, ""
print*,"Me vasi ta dedomena pou eisagate, to orismeno olokliroma e
&inai iso me:"
call olokl(a,b,n,olok)
print*, olok
print*, ""
end

subroutine olokl(a,b,n,olok)
implicit none
real r,a,b,x(10000),sum,olok,f
integer i,n
do i=1,n
r=rand()
x(i)=a+r*(b-a)
enddo
sum=0
do i=1,n
sum=sum+f(x(i))
enddo
olok=sum*(b-a)/real(n)
end

function f(u)
implicit none
real f,u
f=u**2-5*u+6
return
end

Για xi = 1m έως x f = 3m , με n = 9000 στοιχειώδη διαμερίσματα του


συνολικού χωρίου, η εξαγόμενη τιμή του προγράμματος είναι:

∑W = 0,653755426 Joule

Ηλεκτρονικοί Υπολογιστές ΙΙ 3
Πανεπιστήμιο Κρήτης – Τμήμα Φυσικής

Συγκρίνοντας τις δύο μεθόδους υπολογισμού του συνολικού έργου,


παρατηρούμε τα εξής:

διαφορά % =
∑W η − ∑W η ⋅ 100 ≈ 1,9%
1 2

∑W η 1

Άρα, τη αριθμητική μέθοδος υπολογισμού του συνολικού έργου, ήταν σε


σχετικό βαθμό ακριβής.

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

You might also like