PDA

View Full Version : Fortran 95 Help ( Compiling errors)


shadow1768
Sep29-09, 12:22 AM
Hello all, I'm kinda stuck with this fortran 95 program I have to write. It is an Infinite Series of SIN.

IMPLICIT NONE
!
! Data Dictionary
REAL :: x ! Measurement of angle in degrees
REAL :: result ! facilitates addition of the functions
REAL :: f_x ! function defining the series
REAL :: rad_x ! Radians equivalent of x
REAL :: int_value ! Intrinsic function value of sin
REAL, PARAMETER :: PI = 3.141593 ! universal ratio of circle's diameter
INTEGER :: n ! Counter
INTEGER :: fac ! factorial calculation

! User Input of X
WRITE (*,*) 'Input degrees'
READ (*,*) x
!
! Convert to Radians
rad_x = x *(PI/180)
!
! Defining Base values for addition of LOOPs
result = 0.0
fac = 0
!
! Start of DO LOOP
DO n = 1, 10
fac = (2n - 1) *n
f_x = (-1.0**(n-1))*((rad_x**(2n-1))/(fac))
result = f_x + result
END DO
!
! Calcualte INtrinsic value of SIN
int_value = SIN(rad_x)
!
! Display information
WRITE (*,*) 'Intrinsic SIN function value', int_value
WRITE (*,*) 'Calculated value of SIN', result
!
! Finish Up
END PROGRAM infinite_series

And I receive the following errors from the compiler

In file infinite.f95:35

fac = (2n - 1) *n
1
Error: Expected a right parenthesis in expression at (1)
In file infinite.f95:36

f_x = (-1.0**(n-1))*((rad_x**(2n-1))/(fac))
1
Error: Expected a right parenthesis in expression at (1)

The "1" is actually under the 2 in (2n-1) but it wont stay put in the post.

I'm trying to compile to see if the program even works but I need to get past this first. Thank you for any help

After about a couple hours of racking my brain I discovered I was missing the multiply operator between the 2 and n. fail

Now the program compiles but I'm having issues with getting the factorial part of the work properly. I can't seem to figure out how to get it to multiply properly within the DO loop. If I separate the two, I can get the factorial to work, but I will not get the equation to work. argh!

minger
Sep29-09, 08:19 AM
Took me a minute too...

2n needs to be 2*n

shadow1768
Sep29-09, 12:37 PM
Indeed. Quick question, now if I need help coding, do I make a new post in the homework help section or something or another? I can't get the factorials right.

Mark44
Sep29-09, 02:05 PM
I think either place would be fine: here or in the Engineering branch of the homework help forum. Start a new thread, though.