【VB 】求通过三个坐标点解二次函数的代码

问题描述:

【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,即可实现.
 
 
展开全文阅读
剩余:2000
下一页:格子里面填一下