【VB 】求通过三个坐标点解二次函数的代码如题
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 17:58:01
【VB 】求通过三个坐标点解二次函数的代码如题
【VB 】求通过三个坐标点解二次函数的代码
如题
【VB 】求通过三个坐标点解二次函数的代码如题
可以用lagrange插值法求解.利用lagrange法可以求任意次多项式的插值.对于2次多项式,可用如下代码实现.
Option Explicit
Dim a#, b#, c#
Private Sub Command1_Click()
lagrange Val(Form1.Text1.Text), Val(Form1.Text2.Text), Val(Form1.Text3.Text), Val(Form1.Text4.Text), Val(Form1.Text5.Text), Val(Form1.Text6.Text), a, b, c
Form1.Label1.Caption = CStr(a) + "*x^2+" + CStr(b) + "*x+" + CStr(c)
End Sub
Public Function lagrange(ByVal x1#, ByVal y1#, ByVal x2#, ByVal y2#, ByVal x3#, ByVal y3#, ByRef a#, ByRef b#, ByRef c#)
a = y1 / (x1 - x2) / (x1 - x3) + y2 / (x2 - x1) / (x2 - x3) + y3 / (x3 - x1) / (x3 - x2)
b = -y1 * (x2 + x3) / (x1 - x2) / (x1 - x3) - y2 * (x1 + x3) / (x2 - x1) / (x2 - x3) - y3 * (x1 + x2) / (x3 - x1) / (x3 - x2)
c = y1 * x2 * x3 / (x1 - x2) / (x1 - x3) + y2 * x1 * x3 / (x2 - x1) / (x2 - x3) + y3 * x1 * x2 / (x3 - x1) / (x3 - x2)
End Function
把上述代码复制到VB中,添加6个textbox,一个label,一个commandbutton,即可实现.