插值法VB源程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 插值方法VB 一、线性插值应用实例VB1 已知:169的平方根为13,196的平方根为14,编程求175的平方根。 Private Sub Command1_click() Dim x(1 To 2),y(1 To 2) As Single x(1)=169:y(1)=13 x(2)=196:y(2)=14 x0=175 y0=F(x,y,x0) a=Format$(y0,###.##) Text1.Text=y0= Str$(a) End Sub Private Function F(x,y,x0) F=y(1)+(y(2)-y(1))/(x(2)-x(1))*(x0-x(1)) End Function 线性插值应用实例VB2 ?已知水的温度与密度和关系如下: 0.995646 0.995646 0.997044 0.998203 0.99099 0.99700 0.999965 密度/(g/ml) 30.0 25.0 20.0 15.0 10.0 5.0 温度/0C 试编程计算温度为6、13、16、19、23、26 oC时的密度。 Private Sub Command1_click() N = 6 X = 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.AddItem x0 y0 For I = 1 To 6 X0 = xc(I) Y0 = f(N, X, Y, X0) List1.AddItem Str$(X0) Str$(Y0) Next I End Sub Private Function f(N, X, Y, X0) For I = 1 To N If X0 = X(I) Then W = I Exit For End If Next I W = W - 1 If W = 1 Then W = 1: End If If W = N Then W = N - 1: End If f = Y(W) + (Y(W + 1) - Y(W)) / (X(W + 1) - X(W)) * (X0 - X(W)) End Function 二、拉格朗日三点插值实例 例:实验测得25OC乙醇溶液的平均摩尔体积v与乙醇的摩尔分数xi的关系数据如下表。试编程求摩尔数xi为0.3时的乙醇溶液的平均体积v。 0.2424 0.2424 0.2068 0.1739 0.1435 0.1153 0.0891 xi 26.95 25.57 24.32 23.18 22.16 21.22 v 0.4771 0.4771 0.4207 0.3697 0.3234 0.2811 xi 36.37 34.07 32.01 30.15 28.47 v VB清单 Dim X, v Private Sub Command1_click() N = 11 X = Array(0, 0.0891, 0.1153, 0.1435, 0.1739, 0.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 = 3 X0 = Val(Text1.Text) If X0 X(1) Or X0 X(N) Then Print error Else End If Call pt(N, M, X0, A, B) v0 = F(X0, A, B) List1.AddItem a= A List1.AddItem b= B List1.AddItem X0= X0 List1.AddItem v0= Format$(v0, ###.####) End Sub Private Sub pt(N, M, X0, A, B) For I = 1 To N If X0 = X(I) Then If Abs(X0 - X(I - 1)) = Abs(X0 - X(I)) Then A = I - Int((M + 1) / 2) Exit For End If Else A = I - Int(M / 2) End If Next I If A = 0 Then A = 1: End If B = A + M - 1 If B = N T

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档