Need in solving a programm in FOTRAN

  • Thread starter Thread starter Sampath Emani
  • Start date Start date
AI Thread Summary
The discussion centers around a FORTRAN program designed to solve the differential equation f(x0, y0) = 2*(y**2) + 5 using the Runge-Kutta method. The user is a beginner in FORTRAN and seeks assistance in executing the program, acknowledging potential mistakes in the code. Key issues identified include the need for the "IMPLICIT NONE" statement to avoid implicit variable declarations, the undefined function "f," and the mismatch in the number of arguments passed to the rk function, which is defined to accept only one argument. Additionally, there is confusion regarding variable names, as the user reads input into "x" instead of "x0." The conversation emphasizes the importance of correcting these errors for successful program execution.
Sampath Emani
Messages
2
Reaction score
0
Friends,
i have written a program in FOTRAN for solving a equation [f(x0,y0)= 2*(y**2)+5]
I'm in the learning stage of FOTRAN. So please don't mind if my program has got any silly mistakes.
Please help in executing the program.

program rungekutta


print *,' DIFFERENTIAL EQUATION WITH 1 VARIABLE OF ORDER 1'

print*,"enter the value of x0"
read*,x

print*,"enter the value of y0"
read*,y

print*,"enter the value of step size"
read*,h

print*,"solution for the equation is",rk(x0,y0,h)


call runge(m,f1,n,h,x1)

end

function rk(y) result(r)

!Example: y'=(2*y^2+5)

real y,r

r = (2*(y**2)+5)
end function rk(y)

Subroutine runge(m,f1,n,h,x1)

integer f1,i,j,m,n,h

real x,w1,w2,w3,w4,x0,y;

do i=1, m
ni = (i - 1) * f1 - 1
do j=1, f1
x = x1 + h * (n + j)
w1 = h * f(x0,y0)
w2 = h * f(x0+h/2, y0+w1/2)
w3 = h * f(x0+h/2, y0+w2/2)
w4 = h * f(x0+h, y0+w3)
x = x0 + h

x = y + (w1 + w2 + w2 + w3 + w3 + w4) / 6

end do

end do

end
 
Technology news on Phys.org
what does the subroutine runge do for you? it is not being used anywhere.

why if function rk is declared with 1 argument, you pass 3 to it?
 
yes sir,
i do agree. but I'm not able not correct that .
Can u help me in writing the correct step.
I took an equation (2*(y**2)+5)
i want to solve this using Runge kutta.
Thanks in advance
 
Sampath Emani said:
Friends,
i have written a program in FOTRAN for solving a equation [f(x0,y0)= 2*(y**2)+5]
I'm in the learning stage of FOTRAN. So please don't mind if my program has got any silly mistakes.
Please help in executing the program.

program rungekutta


print *,' DIFFERENTIAL EQUATION WITH 1 VARIABLE OF ORDER 1'

print*,"enter the value of x0"
read*,x

print*,"enter the value of y0"
read*,y

print*,"enter the value of step size"
read*,h

print*,"solution for the equation is",rk(x0,y0,h)


call runge(m,f1,n,h,x1)

end

function rk(y) result(r)

!Example: y'=(2*y^2+5)

real y,r

r = (2*(y**2)+5)
end function rk(y)

Subroutine runge(m,f1,n,h,x1)

integer f1,i,j,m,n,h

real x,w1,w2,w3,w4,x0,y;

do i=1, m
ni = (i - 1) * f1 - 1
do j=1, f1
x = x1 + h * (n + j)
w1 = h * f(x0,y0)
w2 = h * f(x0+h/2, y0+w1/2)
w3 = h * f(x0+h/2, y0+w2/2)
w4 = h * f(x0+h, y0+w3)
x = x0 + h

x = y + (w1 + w2 + w2 + w3 + w3 + w4) / 6

end do

end do

end

There are at least several problems that you need to rectify.
(In future, include all the error messages with your post, along with the
source.)

1. You need "IMPLICIT NONE" in the program and in each subroutine
and function.

2. What is "f"?

3. when you invoke rk, it is with 3 arguments.
Yet the function is defined with only one dummy argument.

4. You requested the input of "x0", but you read the value into "x", etc.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...

Similar threads

Replies
6
Views
2K
Replies
2
Views
3K
Replies
7
Views
5K
Replies
89
Views
5K
Replies
7
Views
1K
Replies
4
Views
3K
Replies
2
Views
2K
Replies
4
Views
8K
Back
Top