kami1
Technical User
- Sep 18, 2013
- 1
Respected reader i have some values on x-axis(input_array) and some values on y-axis(output_array) and i want to make a program in fortran in which if the user input(dtemp_s_dt_s_user_ip) is a number like 18 which is not present in defined input_array than the program will calculate the output valve(fB_op) by interpolation , which is named as fB_op and display it.i also applied a condition that if the user input(dtemp_s_dt_s_user_ip) is > 30 than output(fB_op) will be the 1st element of the output_array and if it is < 10 than it would be the last element of the array.
Actually i have problem in syntax , i am not familiar with fortran so if someone can help in order to make that program running from start to the end.
output_array = (/0.59413 , 0.597 , 0.60084 , 0.554 , 0.4188/)
input_array = (/30 , 25 , 20 , 15 , 10/)
IF ( dtemp_s_dt_s_user_ip .GT. 30 ) THEN
fB_op = input.lenght(0)
ElSE IF (dtemp_s_dt_s_user_ip .LT. 10)
fB_op = input.lenght(4)
write(*,*) 'fB_op = '
ELSE
DO i=0,i .LT. input.lenght() , i++
IF (dtemp_s_dt_s_user_ip .EQ. input_array(i) ) THEN
fB_op = output_array(i)
ELSE IF (dtemp_s_dt_s_user_ip .LT. input_array(i) .AND. dtemp_s_dt_s_user_ip .GT. input_array(i+1))
fB_op = (dtemp_s_dt_s_user_ip - input_array(i)/input_array(i) - input_array(i+1)) * (output_array (i) - output_array (i+1))+ output_array(i)
write(*,*) 'fB_op ='
EXIT
END IF
END DO
Actually i have problem in syntax , i am not familiar with fortran so if someone can help in order to make that program running from start to the end.
output_array = (/0.59413 , 0.597 , 0.60084 , 0.554 , 0.4188/)
input_array = (/30 , 25 , 20 , 15 , 10/)
IF ( dtemp_s_dt_s_user_ip .GT. 30 ) THEN
fB_op = input.lenght(0)
ElSE IF (dtemp_s_dt_s_user_ip .LT. 10)
fB_op = input.lenght(4)
write(*,*) 'fB_op = '
ELSE
DO i=0,i .LT. input.lenght() , i++
IF (dtemp_s_dt_s_user_ip .EQ. input_array(i) ) THEN
fB_op = output_array(i)
ELSE IF (dtemp_s_dt_s_user_ip .LT. input_array(i) .AND. dtemp_s_dt_s_user_ip .GT. input_array(i+1))
fB_op = (dtemp_s_dt_s_user_ip - input_array(i)/input_array(i) - input_array(i+1)) * (output_array (i) - output_array (i+1))+ output_array(i)
write(*,*) 'fB_op ='
EXIT
END IF
END DO