【发布时间】:2016-09-14 21:03:42
【问题描述】:
我有一个我写的程序,试图测试我是否可以定义一个用户输入的函数,然后让 Fortran 对其进行求和。这就是我所做的。
program test
real :: a,b,n,k,sum
integer, intent(out) :: func
print *, 'what are the values of a b n k?'
read *, a,b,n,k
print *, 'what is the function?'
read *, func
sum = 0
DO I= 1, 6
x = ((A)+I * ((b-a)/(n)))
sum = sum + func
END DO
print *, sum
end program test
编译器这样回答:
sh-4.3$ gfortran -std=f95 *.f95 -o main
Newfile.f95:5:28:
integer, intent(out) :: func
1
Error: Symbol at (1) is not a DUMMY variable
有什么想法吗?
【问题讨论】:
-
让我直截了当地说:您希望用户输入任意函数,例如:
f(x) = 1/x,然后使用该函数计算任何值?祝你好运。您必须将其作为字符串读入,然后分析字符串以组合适当的计算。这是一项艰巨的任务。 -
我想用用户输入的那个函数来整合它,使用上下限和一定数量的划分都使用梯形规则(lower = a,upper = b,divisons = n)
标签: function compiler-errors sum fortran do-loops