Σελίδα 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
Ακριβως!!! Το εφτιαξα πολυ βιαστηκα και δεν το προσεξα, και η εκχωρηση με τη βοηθεια βοηθητικης μεταβλητης ειναι και ενα απο τα στοιχειωδη τεχνασματα του προγραμματισμου :oops:

Edit: οκ το διορθωσα, και τωρα το γραφημα μοιαζει φυσιολογικο :)

Ευχαριστω οσους ηταν προθημοι να βοηθησουν