!Kompilieren mittels !ifort aufg2.f90 -o aufg2 -L/usr/local/dislin/ -I/usr/local/dislin/ -I/usr/local/dislin/ifc/ -ldislin !vorher Pfad richtig setzen: !export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/dislin/ ! PROGRAM aufg2 USE DISLIN IMPLICIT NONE INTEGER :: i,iend INTEGER :: status REAL :: a,b,h,f,x0,xmax,xmin REAL,ALLOCATABLE, DIMENSION(:) :: x,t WRITE(6,*)'h=..?' READ(5,*)h WRITE(6,*)'x0=..?' READ(5,*)x0 WRITE(6,*)'b=..?' READ(5,*)b a=0. iend=INT((b-a)/h) WRITE(6,*)iend ALLOCATE(x(1:iend+1),STAT=status) ALLOCATE(t(1:iend+1),STAT=status) x=0. t=0. x(1)=x0 t(1)=0. xmax=x(1) xmin=x(1) DO i=2,iend+1 x(i)=x(i-1)+h*f(x(i-1),t(i-1)) t(i)=t(i-1)+h IF(x(i).gt.xmax)THEN xmax=x(i) ELSE xmax=xmax ENDIF IF(x(i).lt.xmin)THEN xmin=x(i) ELSE xmin=xmin ENDIF ENDDO !--------------------- !!MOEGLICHE DATEI-AUSGABE !OPEN(9,FILE="aufg2.dat") ! !DO i=1,iend+1 ! WRITE(9,'(11f12.8,11f12.8)')t(i),x(i) !ENDDO ! !CLOSE(9) ! !---------------------- !DISLIN-AUSGABE CALL METAFL('XWIN') CALL SCRMOD('REVERS') CALL DISINI() CALL GRAF(a,b+1.,a,(b+1.-a)/10.,xmin,xmax+1.,xmin,(xmax+1.-xmin)/10.) CALL INCMRK (-1) CALL MARKER(21) CALL HSYMBL (20) CALL CURVE(t,x,iend+1) CALL ENDGRF() CALL DISFIN() DEALLOCATE(x,STAT=status) DEALLOCATE(t,STAT=status) !--------------------- END PROGRAM !---------------------- FUNCTION f(x,t) REAL :: f f=t-x**2 RETURN END FUNCTION