Fortran Coder

查看: 19379|回复: 1
打印 上一主题 下一主题

[求助] 无报错运行错误-拉格朗日多项式插值算法

[复制链接]

1

帖子

1

主题

0

精华

新人

F 币
22 元
贡献
11 点
跳转到指定楼层
楼主
发表于 2021-10-8 19:15:14 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
1F 币
以下为代码,捣鼓一下午了
[Fortran] 纯文本查看 复制代码
Program lagrange
Implicit none
integer::t,n,i,j,k
real::tmp
real,dimension(1)::x,y
real,dimension(2)::p(17,2)
print*,"请输入气压值"
read*,t
open(10,file='d:\my fortran\air_tmp.txt')
read(10,*)((p(k,j),j=1,2),k=1,17)!17行2列
close(10)
do i=1,17
x(i)=p(i,1)
y(i)=p(i,2)
enddo
print*,x,y
tmp=fun(t)
print*,tmp

contains
function fun(t) result(tmp)
implicit none
integer::t,n,i,j
real::tmp
real,dimension(1)::x,y,l
do i=1,n
    do j=1,n
        if(i/=j) then
        l(i)=l(i)*(t-x(j))/(x(i)-x(j))
    else
        return
    endif
    enddo
tmp=l(i)*y(i)+tmp
enddo
endfunction fun

end program

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-8 21:33

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表