vb画出了正弦曲线上离散的点怎么求周期

来源:百度知道 编辑:UC知道 时间:2024/05/15 04:05:03
从数据表内传递一些点给vb,将这些点在窗口中显示,形成正弦曲线上离散的点,怎么求它的周期
代码如下:
Function max(a As Double, b As Double) As Double
If a > b Then
max = a
Else
max = b
End If
End Function
Private Sub Command1_Click(Index As Integer)
Scale (-0.5, 10)-(19.5, -17.5)
DrawWidth = 1
DrawStyle = 0
Dim tRs As New ADODB.Recordset
Dim sSql As String
Dim t As Double
Dim q As Double
Dim ysz(10000) As Double
Dim xsz(10000) As Double
t = 0
q = 0
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\月\Desktop\123.mdb"
sSql = "Select * From 正弦"
tRs.Open sSql, Conn
While (Not tRs.EOF)
t = max(t, tRs.Fields("y"))
q = max(q, tRs.Fields("x"))
ysz(i) = tRs.Fields("y")
xsz(i) = tRs.Fields("x")
i = i + 1
tRs.MoveNext
Wend
tRs.Close
m = 6 / t<

一个枚举的算法:
我们假设周期为T,初始相位为P,根据公式,把xsz(i)带入计算理论的ysz(i)',再比较ysz(i)'与ysz(i),算出符合度数组match[i]。
虽然T,P值不确定,但仍能确定他们的范围。所以只要在[t1,t2][p1,p2]的区间内按1递增取值,按上述方法测试,找出ysz(i)'与ysz(i)符合最好的(match[i]最靠近理论值)那一组T,P就OK啦。
正弦公式的种类意味着不同参数,就是说可能你的公式中包括不止T,P的参数,那就增加循环的层数。