for t=-100 to 500 step 0.001
for k=-300 to 1000 step 0.003
if a1t^3+...+h1 < 0.01
//在閾值範圍內,輸出t和k值
next k
next t
這個方法在步長和閾值設置合理的情況下可以求得近似解。
如果要優化,可以參考優化設計方面的書籍,像什麽分支定界法之類的提高計算效率。
Dim a1, b1, c1, d1, e1, f1, g1, h1, a2, b2, c2, d2, e2, f2, g2, h2 As Double
'要給這些常數賦值
Dim t, k As Double
For t = 0 To 1 Step 0.001
For k = 0 To 1 Step 0.001
If Abs(a1t ^ 3 + b1 * t ^ 2 + c1 * t + d1 * t * k ^ 2 + e1 * t * k + f1 * k ^ 2 + g1 * k + h1) < 0.001 And Abs(a2 * k ^ 3 + b2 * k ^ 2 + c2 * k + d2 * k * t ^ 2 + e2 * k * t + f2 * t ^ 2 + g2 * t + h2) < 0.001 Then
'在閾值範圍內,輸出t和k值
Print "t="; t
Print "k="; k
End If
Next k
Next t