| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 841 人关注过本帖
标题:各位哥哥姐姐,帮我编道程序吧,救命用的!
取消只看楼主 加入收藏
媛媛
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-9-28
收藏
 问题点数:0 回复次数:1 
各位哥哥姐姐,帮我编道程序吧,救命用的!

606 分段lagrange三点插值

一:功能

给出n个节点X1,X2....Xn及相应的函数值Yi=f(Xi),i=1,2...n,

对p个插值点 Xj(j=1,2...p),选取最靠近插值点相邻的三个点,用lagrange三点插值公式对一元函数进行成组插值。节点等距与不等距均可。

二:算法简介

设给出n个节点,其中X1<X2<...<Xn,相应的函数值Y1,Y2...Yn,用lagrange三点插值公式,有:

L(x)=Σ(Π(X-Xj)/(Xk-Xj))Yk 注释:求和公式k由I到I+2

求积公式j由I到I+2,jk

其中如果X<(Xj+Xj+1)/2 那么I=j-1;

X>(Xn-2+Xn-1)/2 那么I=n-2

三:程序使用说明

1)输入参数

n为节点个数

p为插值节点个数

X(n),Y(n),一维数组,分别存放相应的节点和函数值

C(p),一维数组,存放插值点

2)输出参数

n,p分别为节点个数和插值个数

Xi,Yi节点与节点函数值

Xj,Yj,j=1,2...p,插值点与插值

BASIC源程序如下

40 input"n,p=";N,P

50 print;TAB(3);"example:";"n=";N,"p=";p

60 dim X(N),Y(N),C(P),D(P)

70 PRINT TAB(3),"JIEDIAN YU JIEDIANZHI:"

80 FOR I=1 TO N

90 READ X(I):PRINT USING"####.###";X(I);

100 NEXT I

110 PRINT

120 FOR I=1 TO N

130 READ Y(I):PRINT USING"####.###";Y(I);

140 NEXT I

150 PRINT

160 FOR J=1 TO P

170 READ C(J)

180 NEXT J

190 PRINT

200 GOSUB 400

210 PRINT TAB(3);"CHAZHIDIAN YU CHAZHI"

220 FOR J=1 TO P

230 PRINT "X=";C(J),"Y=";D(J)

240 NEXT J

250 DATA 1,2,3,4,5,6

260 DATA 8,27,64,125,216,343

270 DATA 1.5,2.5,3.5,4.5,5.5

280 END

400 'SUBPROGRAM

410 FOR T=1 TO P

420 I=1

430 IF C(T)<.5*(X(I+1)+X(I+2)) THEN 480

440 IF C(T)>=.5*(X(N-2)+X(N-1)) THEN 470

450 I=I+1

460 GOTO 430

470 I=N-2

480 M=I+2

490 D(T)=0

500 FOR J=I TO M

510 S=1

520 FOR K=I TO M

530 IF (J-K)=0 THEN 550

540 S=S*(C(T)-X(K))/(X(J)-X(K))

550 NEXT K

560 D(T)=D(T)+S*Y(J)

570 NEXT J

580 NEXT T

590 RETURN_

搜索更多相关主题的帖子: 救命 
2005-09-28 12:22
媛媛
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-9-28
收藏
得分:0 
哥哥姐姐   帮帮我吧   !!!!!!
2005-09-28 17:00
快速回复:各位哥哥姐姐,帮我编道程序吧,救命用的!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022334 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved