- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算方法 VB 源代码.txt10 有了执著,生命旅程上的寂寞可以铺成一片蓝天;有了执著,孤单可以演绎成一排鸿雁;有了执著,欢乐可以绽放成满圆的鲜花。Rem 拉格朗日插值多项式Private Sub Command1_Click()
Dim n As Integer
Dim yi() As Single, xi() As Single, li() As Single Dim y0 As Single, x0 As Single
n=10
x0=Val(InputBox(输入要求点的 x 值)) y0=0.0
ReDim yi(n) ReDim xi(n) ReDim li(n) For i=1 To n
Yi(i)=Val(InputBox(输入第i个插值点的 y 值))
xi(i)=Val(InputBox(输入第i个插值点的 x 值)) Next i
For i=1 To n li(i)=1
Next i
For i=1 To n For j=1 To n
If ij Then li(i)=li(i)*(x0-xi(j))/(xi(i)-xi(j)) Next j
Next i
For i=1 To n y0=y0+li(i)*yi(i) Next i
Print y0=;y0 End Sub
Rem 二分法
Private Sub Command1_Click() Dim x1,x2,X,y1,y2,y,eer
80 x1=InputBox(x1) x2=InputBox(x2) y1=f(x1)
y2=f(x2)
If y1*y20 Then Goto 100
Else
Print(重新输入 x1 和 x2) End If
100 x=(x1+x2)/2
For i=1 To n
For i=1 To n
y=f(x)
If Abs(y)=0.000001 Then Print(函数根为);x
Print(y=);y
Else
If y1*y0 Then x2=x
y2=y Goto 100 Else x1=x y1=y Goto 100 End If End If End Sub
Public Function f(x)
Dim y
y=x^2-4*x-1 f=y
End Function
REM 牛顿迭代法
Private Sub Command1_Click() x0=1
Do Until Abs(x^3-x-1)=0.0001 x=x0
f=x^3-x-1 g=3*x^2-1 x0=x-f/g
Print(x0=);x0 Loop
End Sub
REM 高斯消除法求解方程组Private Sub Command1_Click() Dim i,j,m,n As Integer
Dim a(),z(),x(),w n=InputBox(n)
ReDim a(n+2,n+2),z(n+2,n+2),x(n+1)
For j=1 To n+1 a(i,j)=InputBox(a)
Next j Next i
For i=1 To n w=a(i,i)
For j=1 to n+1 a(i,j)=a(i,j)/w Next j
if i=n Then Goto 100 For j=i+1 To n
For k=i+1 to n+1 z(i,k)=a(i,k)*a(j,i)
a(j,k)=a(j,k)-z(i,k)
Next k Next j Next i 100 x(n+1)=0
For k=n To 1 step-1 s=0
For j=k+1 To n s=s+a(k,j)*x(j) Next j x(k)=a(k,n+1)-s
Printx;k;)=;x(k) Next k
End Sub
REM Jacobi 迭代源程序Private Sub Command1_Click() Dim n As Integer
Dim a(),y(),g(),b(),X1(),X2()
n=Input(方程维数); ReDim a(n+1,n+1),y(n+1)
ReDim g(n+1),X1(n+1),X2(n+1),b(n+1,n+1)
Dim s,eer,t k=0
For i=1 To n X1(i)=1 X2(i)=0
Next i
For j=1 To n Print输入 A();i,j
a(i,j)=InputBox(a(i,j)) Next j y(i)=InputBox(y(i)) Next i
For i=1 To n g(i)=y(i)/a(i,i) Next i
For i=1 To n For j=1 To n If i=j Then b(i,j)=0
Else
b(i,j)=-a(i,j)/a(i,i
文档评论(0)