插值法VB源程序_第1页
插值法VB源程序_第2页
插值法VB源程序_第3页
插值法VB源程序_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章插值方法VB一、线性插值应用实例VB1已知:169的平方根为13,196的平方根为14,编程求175的平方根。Private Sub Comma nd1_click()Dim x(1 To 2),y(1 To 2) As Si nglex(1)=169:y=13x(2)=196:y(2)=14x0=175yO=F(x,y,xO)a=Format$(yO,#.#)Text1.Text=yO= & Str$(a)End SubPrivate Fun cti on F(x,y,xO)F=y(1)+(y (2)-y(1)/(x (2)-x(1)*(x0-x(1)End Fun cti on线性插

2、值应用实例VB2已知水的温度与密度和关系如下:温度5.010.015.020.025.030.0密度0.99990.9970.990.990.990.99试编程计算温度为 6、13、16、19、23、26 oC时的密度。Private Sub Comma nd1_click()N = 6X = Array(0, 5, 10, 15, 20, 25, 30)Y = Array(0, 0.999965, 0.9997, 0.999099, 0.998203, 0.997044, 0.995646)xc = Array(0, 6, 13, 16, 19, 23, 26)List1.Addltem x

3、0 & y0For I = 1 To 6X0 = xc(I)Y0 = f(N, X, Y , X0)List1.AddItem Str$(X0) & Str$(Y0)Next IEnd SubPrivate Function f(N, X, Y , X0)For I = 1 To NIf X0 = X(I) The nW = IExit ForEnd IfNext IW = W - 1If W = N ThenW = N - 1: End Iff = Y(W) + (Y(W + 1) - Y(W) / (X(W + 1) - X(W) * (XO - X(W)End Fun cti on二、拉

4、格朗日三点插值实例例:实验测得25OC乙醇溶液的平均摩尔体积v与乙醇的摩尔分数xi的关系数据如下表。试编程求摩尔数xi为0.3时的乙醇溶液的平均体积v。VB清单Dim X, v计 Wv21.2222.1623.1824.3225.5726.95xi0.0890.1150.1430.1730.2060.242v28.4730.1532.0134.0736.37xi0.2810.3230.3690.4200.477找牯巾|日二点Jit.怛Private Sub Command1_click()N = 11X = Array(0, 0.0891, 0.1153, 0.1435, 0.1739, 0.

5、2068, 0.2424, 0.2811, 0.3234, 0.3697, 0.4207, 0.4771)v = Array(0, 21.22, 22.16, 23.18, 24.32, 25.57, 26.95, 28.47, 30.15, 32.01, 34.07, 36.37)M = 3X0 = Val(Text1.Text)If X0 X(N) ThenPrint errorElseEnd If Call pt(N, M, X0, A, B) v0 = F(X0, A, B) List1.AddItem a= & A List1.AddItem b= & B List1.AddItem

6、 X0= & X0List1.AddItem v0= & Format$(v0, #.#) End SubPrivate Sub pt(N, M, X0, A, B) For I = 1 To NIf X0 = X(I) ThenIf Abs(X0 - X(I - 1) = Abs(X0 - X(I) Then A = I - Int(M + 1) / 2)Exit ForEnd IfElseA = I - Int(M / 2)End If Next IIf A = N ThenB = N: End IfA = B - M + 1End SubPrivate Function F(X0, A,

7、 B) For I = A To BW = 1For J = A To B If J I ThenW = W * (X0 - X(J) / (X(I) - X(J): End If Next J s = s + W * v(I)Next I F = s End Function三、拉格朗日全点插值 VB试对上例编程对比利用三个、五个、七个、九个和全部节点时,摩尔分数 xi 为 0.30 时乙醇溶液的平均摩尔体积 v。Dim X, vPrivate Sub Command1_click()N = 11X = Array(0, 0.0891, 0.1153, 0.1435, 0.1739, 0.2

8、068, 0.2424, 0.2811, 0.3234, 0.3697, 0.4207, 0.4771)v = Array(0, 21.22, 22.16, 23.18, 24.32, 25.57, 26.95, 28.47, 30.15, 32.01, 34.07, 36.37)X0 = Val(Text1.Text)If X0 X(N) ThenPrint errorEndElseEnd IfList1.AddItem x0= & X0For M = 3 To N Step 2Call pt(N, M, X0, A, B) v0 = F(X0, A, B)List1.AddItem M= & M & A= & A & B= & B & v0 & Format$(v0, #.#)Next MEnd SubPrivate Sub pt(N, M, X0, A, B)For I = 1 To NIf X0 = X(I) ThenIf Abs(X0 - X(I - 1) = Abs(X0 - X(I) ThenA = I - Int(M + 1) / 2)Exit ForEnd IfElseA = I - Int(M / 2)End IfNext IIf A = N ThenB = N: End IfA = B - M + 1End SubPrivate Function F(X0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论