people can this be solved NUMERICALLY on FORTRAN? - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

people can this be solved NUMERICALLY on FORTRAN?

hello people...i have beeen given this projectile problem to be solved numerically in FORTRAN..i have coded it using runge0kutta 4th order ......now the thing is that i have not been given the end points of time,,;ie. the range.. and i am asked to

a)the maximum height attained by the projectile

what is to b added to the existing code to achive this?

b)the time required to reach the maximum height

what is to b added to the existing code to achive this?

c)the time required to return to the original elevation..

what is to b added to the existing code to achive this?

i did fortran 4 years ago...havent beeen in practice..this was the lone effort i cud recall...please help...


i have attached the question and the code..

heres the code
CODE


!************************************************* *********************
! *
! projectile question *
! *
!************************************************* **********************


DATA M,G,C/10.0,9.80665,0.1/

!FIRST i HAVE REDUCED THE GIVEN EQUATION IN TWO LINEAR 1ST-ORDER EQUATIONS
!FOR THE SOLUTION TO PROCEED


F1(T,U1,Y2) = U1
F2(T,U1,Y2) = (-M*G-C*U1**2)/M


!ASSIGNMENT OF VALUES TO CONSTANTS



WRITE(*,*) 'Input left and right endpoints separated by'
WRITE(*,*) 'blank'
WRITE(*,*) ' '
READ(*,*) A, B

WRITE(*,*) 'Input the two initial conditions.'
WRITE(*,*) ' '
READ(*,*) ALPHA1, ALPHA2

WRITE(6,*) 'Input a positive integer for the number'
WRITE(6,*) 'of subintervals '
WRITE(6,*) ' '
READ(5,*) N


WRITE(*,6)
6 FORMAT(12X,'t(i)',11X,'w1(i)',11X,'w2(i)')

H=(B-A)/N
T=A


! the initiaal conditions
W1=ALPHA1
W2=ALPHA2

WRITE(*,1) T,W1,W2

!RK PARAMETER EVALUATIONS HERE

DO 110 I=1,N

X11=H*F1(T,W1,W2)
X12=H*F2(T,W1,W2)

X21=H*F1(T+H/2,W1+X11/2,W2+X12/2)
X22=H*F2(T+H/2,W1+X11/2,W2+X12/2)

X31=H*F1(T+H/2,W1+X21/2,W2+X22/2)
X32=H*F2(T+H/2,W1+X21/2,W2+X22/2)

X41=H*F1(T+H,W1+X31,W2+X32)
X42=H*F2(T+H,W1+X31,W2+X32)

W1=W1+(X11+2*X21+2*X31+X41)/6
W2=W2+(X12+2*X22+2*X32+X42)/6

T=A+I*H

WRITE(*,1) T,W1,W2
110 CONTINUE


STOP
1 FORMAT(3(1X,E15.8))
END

Comments

  • quikcarlquikcarl Posts: 59Member
    Of course, it can be solved, but I don't know the theory or the finite steps that need to be taken to get there. 1st, your function statements have 3 variables, but you're only using one (U1).
    [code] F1(T,U1,Y2) = U1
    F2(T,U1,Y2) = (-M*G-C*U1**2)/M
    [/code]
    2nd, all of the other FORTRAN looks correct, but I suggest another computer language to solve the problem, if you know any, like, C, MatLab, or Pascal.
Sign In or Register to comment.