Σελίδα 11 από 21
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Σάβ Ιούλ 31, 2010 3:25 pm
από Dennis Lynn Rader
Να 'σαι καλά ρε 1/2rizax ! Αυτό ήταν ! Τρέχει ! Many thnx !
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Κυρ Αύγ 22, 2010 6:23 pm
από pensivemood
μια ερώτηση στο πρώτο θέμα του Ιουλίου:
η χρονική ολοκλήρωση για τη μέθοδο euler των δύο εξισώσεων πια είναι; Εγώ υποθέτω ότι είναι οι εξής:
x(n+1)=x(n) +( 2*x(n)-x(n)*y(n) )*h
και
y(n+1)=y(n)+( 0.25*x(n)*y(n)-0.6*x(n) )*h
όπου h=(Tf-T0)/(steps-1)
είναι σωστό αυτό; Αν μπορεί κάποιος που το έλυσε, ας πει τη λύση
Ευχαριστώ
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Κυρ Αύγ 22, 2010 7:40 pm
από 1/2rizax
Πρόσεξε ότι εδώ δεν υπάρχουν στεπς, αλλά πρέπει να πειραματιστείς κατάλληλα με το δτ. Οπότε δοκίμασε κάτι τέτοιο:
Κώδικας: Επιλογή όλων
do while (t(i) .lt. tf)
write(1,*) i, t(i), x(i), y(i)
i=i+1
t(i)=t(i-1)+dt
x(i)=x(i-1)+dt*(2.0*x(i-1)-0.5*x(i-1)*y(i-1))
y(i)=y(i-1)+dt*(0.25*x(i-1)*y(i-1)-0.6*y(i-1))
enddo
Οι αναδρομικοί τύποι είναι ίδιοι, απλά σου ξέφυγε ένα 0.5 στην 1η εξίσωση.
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Κυρ Αύγ 22, 2010 8:09 pm
από pensivemood
ευχαριστώ πολύ

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Δευ Αύγ 23, 2010 3:49 pm
από mtsarduckas
Επείγουσα ερώτηση: Μπορώ να βρώ κάπου online τις σημειώσεις του σιέττου;; Thanks!
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Δευ Αύγ 23, 2010 5:17 pm
από pensivemood
Υπάρχουν στα Έγγραφα στο mycourses οι διαφάνειες από τα μαθήματά του, όχι όμως και το βιβλίο (όπως του Αναγνωστόπουλου)
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Δευ Αύγ 23, 2010 5:43 pm
από mtsarduckas
Δυστυχώς δεν έχω το βιβλίο του.. Thanks anyway φίλε μου...
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Δευ Αύγ 23, 2010 6:09 pm
από mtsarduckas
Και μία γρήγορη ερώτηση: Πως κάνουμε export σε αρχείο εικόνας τις γραφ. παραστάσεις του GNUPLOT; Ευχαριστώ@
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Δευ Αύγ 23, 2010 7:51 pm
από aeriko
Μήπως έχει κάποιος εύκαιρη τη λύση του 5ου ενδεικτικού θέματος...??
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Δευ Αύγ 23, 2010 8:36 pm
από Alekos
Για το 5ο θέμα χρησιμοποιείς το αρχείο population.f (δυστυχώς εγώ δεν το έχω λυμένο να σε βοηθήσω περισσότερο)
Τις γραφικές τις κάνεις export με τις εξής εντολές (υπάρχουν κ στην αρχή των ενδεικτικών θεμάτων):
gnuplot> plot x, x*2
gnuplot> set terminal postscript color
gnuplot> set output "....όνομα....."
gnuplot> replot
gnuplot> set output
gnuplot> set term wxt
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Τρί Αύγ 24, 2010 11:47 am
από zoe
Καλημέρα!Ξέρει κάποιος πως λύνεται το θέμα 2 του Ιουλίου το δεύτερο ερώτημα?Αυτο με το σχετικό σφάλμα?
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Τρί Αύγ 24, 2010 6:13 pm
από NickNafplio
Εχει λυσει κανενας το ενδεικτικο θεμα 3? Προκειπτει και σε κανεναν αλλον οτι το σωματιδιο μετα τη πρωτη συγκρουση του με την ευθεια 1-χ αρχιζει να κινειται κατα μηκος της ευθειας? Μου φαινεται λαθος αυτο, αλλα δεν καταλαβαινω γιατι βγαινει ετσι, αφου εχω φτιαξει σωστα το προγραμμα και σε καθε συγκρουση η ταχυτητα αλλαζει συμφωνα με τους τυπους που δινονται...
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Τρί Αύγ 24, 2010 7:34 pm
από sakura
@nicknafplio βρήκα τον κώδικα στα αρχεία που έχει ανεβάσει ο αναγνωστόπουλος, πιστεύω να σε βοηθήσει!
Κώδικας: Επιλογή όλων
C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C File triangle.f
C Motion of a free particle in triangle (x=0,y=0,x+y=1)
C Use integration with time step dt: x = x + vx*dt y=y+vy*dt
C ------------------------------------------------------------
program triangle2D
implicit none
C ------------------------------------------------------------
C Declaration of variables
real*8 x0,y0,v0x,v0y,t0,tf,dt,t,x,y,vx,vy,vx_old
integer i,nx,ny,nt
C ------------------------------------------------------------
C Ask user for input:
print *,'# Enter x0,y0,v0x,v0y:'
read(5,*)x0,y0,v0x,v0y
print *,'# x0= ',x0,' y0= ',y0,' v0x= ',v0x,' v0y= ',v0y
if(x0 .lt. 0.0) stop 'illegal value of x0<0'
if(y0 .lt. 0.0) stop 'illegal value of y0<0'
if(y0 .gt. (-x0+1.0D0))
$ stop 'illegal value (x0,y0): outside triangle'
if(v0x**2+v0y**2.eq. 0.0 ) stop 'illegal value of v0 = 0.'
print *,'# Enter t0,tf,dt:'
read(5,*)t0,tf,dt
print *,'# t0= ',t0,' tf= ',tf,' dt= ',dt
C ------------------------------------------------------------
C Initialize
i = 0
nx = 0
ny = 0
nt = 0
t = t0
x = x0
y = y0
vx = v0x
vy = v0y
open(unit=11,file='triangle.dat')
C ------------------------------------------------------------
C Compute:
do while(t .le. tf)
write(11,*)t,x,y,vx,vy
i = i + 1
t = t0 + i *dt
x = x + vx*dt
y = y + vy*dt
if(x .le. 0.0D0) then
vx = -vx
nx = nx + 1
endif
if(y .le. 0.0D0) then
vy = -vy
ny = ny + 1
endif
if(y .ge. (-x+1.0D0))then
vx_old = vx
vx = -vy
vy = -vx_old
nt = nt + 1
endif
enddo
close(11)
print *,'# Number of collisions:'
print *,'# nx= ',nx,' ny= ',ny,' nt= ',nt
end
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Τρί Αύγ 24, 2010 7:43 pm
από 1/2rizax
Νικ, έτσι από περιέργεια μπορείς να παρεθέσεις τον κώδικά σου; Μήπως, πχ, για τη σύγκρουση με τη διαγώνιο έγραψες
vx = -vy
vy = -vx
το οποίο δεν είναι σωστό γιατί αναθέτει στη vx την τιμή -vy και αφήνει την vy ως έχει;
Την εναλλαγή την κάνεις βάζοντας καινούρια μεταβλητή ή με κάποιο κολπάκι του στυλ:
vx=vx+vy
vy=vx-vy
vx=vx-vy
vx=-vx
vy=-vy
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Δημοσιεύτηκε: Τρί Αύγ 24, 2010 10:37 pm
από NickNafplio
1/2rizax έγραψε:Νικ, έτσι από περιέργεια μπορείς να παρεθέσεις τον κώδικά σου; Μήπως, πχ, για τη σύγκρουση με τη διαγώνιο έγραψες
vx = -vy
vy = -vx
το οποίο δεν είναι σωστό γιατί αναθέτει στη vx την τιμή -vy και αφήνει την vy ως έχει;
Την εναλλαγή την κάνεις βάζοντας καινούρια μεταβλητή ή με κάποιο κολπάκι του στυλ:
vx=vx+vy
vy=vx-vy
vx=vx-vy
vx=-vx
vy=-vy
Ακριβως!!! Το εφτιαξα πολυ βιαστηκα και δεν το προσεξα, και η εκχωρηση με τη βοηθεια βοηθητικης μεταβλητης ειναι και ενα απο τα στοιχειωδη τεχνασματα του προγραμματισμου
Edit: οκ το διορθωσα, και τωρα το γραφημα μοιαζει φυσιολογικο
Ευχαριστω οσους ηταν προθημοι να βοηθησουν