问题描述: 【VB 】求通过三个坐标点解二次函数的代码如题 1个回答 分类:数学 2014-09-22 问题解答: 我来补答 可以用lagrange插值法求解.利用lagrange法可以求任意次多项式的插值.对于2次多项式,可用如下代码实现.Option ExplicitDim 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 SubPublic 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,即可实现. 展开全文阅读