问题描述
我试图创建一个程序来进行拉格朗日插值,但遇到了一系列我无法理解的错误。请帮忙。我过去做过类似的事情,但不知道为什么会这样。我认为这可能是由于读取数组,但我不明白为什么。
program lagrange_interpolation
implicit none
real xx,addn
integer n,i,j,q
print*,"Provide degree of polynomial(one less than number of data points)","value where you need intepolation value"
read(*,*)n,xx
real,dimension(100)::x,y,p
q=(n+1)
print*,q
do i=1,q
read(*,*)x(i)
read(*,*)y(i)
end do
do i=1,q
p(i)=1.0
end do
do i=1,q
do j=1,q
if(i-j)5,10,5
5 p(i)=p(i)*((xx-x(j))/(x(i)-x(j)))
10 continue
end do
end do
addn=0.0
do i=1,q
addn=addn+p(i)*y(i)
end do
print*,"your ans is",addn
endprogram lagrange_interpolation
错误是::
real,p
1
Error: Unexpected data declaration statement at (1)
read(*,*) x(i)
1
Error: Syntax error in READ statement at (1)
read(*,*) y(i)
1
Error: Syntax error in READ statement at (1)
p(i)=1.0
Error: Function 'p' at (1) has no IMPLICIT type
5 p(i)=p(i)*((xx-x(j))/(x(i)-x(j)))
1
Error: Function 'p' at (1) has no IMPLICIT type
5 p(i)=p(i)*((xx-x(j))/(x(i)-x(j)))
1
Error: Function 'x' at (1) has no IMPLICIT type
addn=addn+p(i)*y(i)
1
Error: Function 'y' at (1) has no IMPLICIT type
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)