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

Μήπως να ξανακάνω Μηχανογραφικό;

Συντονιστές: φιάλη klein, Ryu, markelos, meleneemil, Nasia!

Άβαταρ μέλους
Dennis Lynn Rader
Δημοσιεύσεις: 126
Εγγραφή: Τρί Σεπ 25, 2007 11:13 pm
Real Name: Mort Nezach Van Uriel
Gender: Male
Facebook ID: 0
Τοποθεσία: Washington D.C.

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από Dennis Lynn Rader »

Να 'σαι καλά ρε 1/2rizax ! Αυτό ήταν ! Τρέχει ! Many thnx !
" Shema Yisrael Adonai Eloheinu Adonai Echad...Baruch Shem Kavod Malchuso Le'Olam Va'Ed " ~ Deyteronomy 6:4
pensivemood
Δημοσιεύσεις: 13
Εγγραφή: Κυρ Ιούλ 20, 2008 9:26 pm
Real Name: Real Name
Facebook ID: 0

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από 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)

είναι σωστό αυτό; Αν μπορεί κάποιος που το έλυσε, ας πει τη λύση
Ευχαριστώ
Άβαταρ μέλους
1/2rizax
Δημοσιεύσεις: 231
Εγγραφή: Δευ Δεκ 04, 2006 3:39 pm

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από 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η εξίσωση.
no es sueño la vida
y al que le duele su dolor le dolerá sin descanso
y el que teme la muerte la llevará sobre los hombros
pensivemood
Δημοσιεύσεις: 13
Εγγραφή: Κυρ Ιούλ 20, 2008 9:26 pm
Real Name: Real Name
Facebook ID: 0

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από pensivemood »

ευχαριστώ πολύ :)
mtsarduckas
Δημοσιεύσεις: 119
Εγγραφή: Σάβ Μαρ 08, 2008 9:45 am
Real Name: Μιχάλης
Gender: Male
Facebook ID: 743552839

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από mtsarduckas »

Επείγουσα ερώτηση: Μπορώ να βρώ κάπου online τις σημειώσεις του σιέττου;; Thanks!
Draco Dormiens Nunquam Tittilandus
pensivemood
Δημοσιεύσεις: 13
Εγγραφή: Κυρ Ιούλ 20, 2008 9:26 pm
Real Name: Real Name
Facebook ID: 0

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από pensivemood »

Υπάρχουν στα Έγγραφα στο mycourses οι διαφάνειες από τα μαθήματά του, όχι όμως και το βιβλίο (όπως του Αναγνωστόπουλου)
mtsarduckas
Δημοσιεύσεις: 119
Εγγραφή: Σάβ Μαρ 08, 2008 9:45 am
Real Name: Μιχάλης
Gender: Male
Facebook ID: 743552839

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από mtsarduckas »

Δυστυχώς δεν έχω το βιβλίο του.. Thanks anyway φίλε μου...
Draco Dormiens Nunquam Tittilandus
mtsarduckas
Δημοσιεύσεις: 119
Εγγραφή: Σάβ Μαρ 08, 2008 9:45 am
Real Name: Μιχάλης
Gender: Male
Facebook ID: 743552839

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από mtsarduckas »

Και μία γρήγορη ερώτηση: Πως κάνουμε export σε αρχείο εικόνας τις γραφ. παραστάσεις του GNUPLOT; Ευχαριστώ@
Draco Dormiens Nunquam Tittilandus
Άβαταρ μέλους
aeriko
Δημοσιεύσεις: 352
Εγγραφή: Παρ Ιούλ 24, 2009 1:28 pm
Real Name: ...
Gender: Female
Facebook ID: 0

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από aeriko »

Μήπως έχει κάποιος εύκαιρη τη λύση του 5ου ενδεικτικού θέματος...??
Άβαταρ μέλους
Alekos
Δημοσιεύσεις: 171
Εγγραφή: Κυρ Μαρ 02, 2008 2:18 pm
Real Name: Alekos
Gender: Male
Facebook ID: 0
Τοποθεσία: Los Alimos

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από 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
zoe
Δημοσιεύσεις: 34
Εγγραφή: Τετ Οκτ 24, 2007 2:02 pm
Real Name: Zwi
Gender: Female
Facebook ID: 517606286
Τοποθεσία: everywhere

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από zoe »

Καλημέρα!Ξέρει κάποιος πως λύνεται το θέμα 2 του Ιουλίου το δεύτερο ερώτημα?Αυτο με το σχετικό σφάλμα?
Άβαταρ μέλους
NickNafplio
Δημοσιεύσεις: 703
Εγγραφή: Τρί Ιούλ 01, 2008 5:50 pm
Real Name: Νικος (mod(p^n)) ...
Gender: Male
Facebook ID: 0
Τοποθεσία: Oxford, United Kingdom

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από NickNafplio »

Εχει λυσει κανενας το ενδεικτικο θεμα 3? Προκειπτει και σε κανεναν αλλον οτι το σωματιδιο μετα τη πρωτη συγκρουση του με την ευθεια 1-χ αρχιζει να κινειται κατα μηκος της ευθειας? Μου φαινεται λαθος αυτο, αλλα δεν καταλαβαινω γιατι βγαινει ετσι, αφου εχω φτιαξει σωστα το προγραμμα και σε καθε συγκρουση η ταχυτητα αλλαζει συμφωνα με τους τυπους που δινονται...
Ο νεοφιλελές της διπλανής πόρτας
Άβαταρ μέλους
sakura
Δημοσιεύσεις: 52
Εγγραφή: Σάβ Απρ 21, 2007 12:30 pm

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από 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
Άβαταρ μέλους
1/2rizax
Δημοσιεύσεις: 231
Εγγραφή: Δευ Δεκ 04, 2006 3:39 pm

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από 1/2rizax »

Νικ, έτσι από περιέργεια μπορείς να παρεθέσεις τον κώδικά σου; Μήπως, πχ, για τη σύγκρουση με τη διαγώνιο έγραψες

vx = -vy
vy = -vx

το οποίο δεν είναι σωστό γιατί αναθέτει στη vx την τιμή -vy και αφήνει την vy ως έχει;
Την εναλλαγή την κάνεις βάζοντας καινούρια μεταβλητή ή με κάποιο κολπάκι του στυλ:
vx=vx+vy
vy=vx-vy
vx=vx-vy
vx=-vx
vy=-vy
no es sueño la vida
y al que le duele su dolor le dolerá sin descanso
y el que teme la muerte la llevará sobre los hombros
Άβαταρ μέλους
NickNafplio
Δημοσιεύσεις: 703
Εγγραφή: Τρί Ιούλ 01, 2008 5:50 pm
Real Name: Νικος (mod(p^n)) ...
Gender: Male
Facebook ID: 0
Τοποθεσία: Oxford, United Kingdom

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από 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: οκ το διορθωσα, και τωρα το γραφημα μοιαζει φυσιολογικο :)

Ευχαριστω οσους ηταν προθημοι να βοηθησουν
Ο νεοφιλελές της διπλανής πόρτας
Απάντηση

Επιστροφή στο “Δεύτερο Έτος”