- #1
shadow1768
- 2
- 0
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 won't 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!
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 won't 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!
Last edited: