我想为布伦特方法(一种数值方法)创建一个 VB 代码,它可以采用解析函数并找到根。我怎样才能在 VB 2010 中做到这一点?Brent 方法采用的函数如下:
Function W_Bazin_Rect_h(ByVal Q As Double,
ByVal w As Double,
ByVal a As Double,
ByVal S As Double) As Double
Dim tempstr As String
If w < 0 Or a <= 0 Then
tempstr = "Error on input"
ShowMessageBox(tempstr)
Exit Function
End If
If Q <= 0 Then
Return 0
End If
g = 9.81
u = (0.405 + 0.003 / h) * (1 + 0.55 * (h / (h + a)) ^ 2)
Q = ((2 * g) ^ 0.5 * u * w * h ^ (3 / 2)) * (1 - (S / h) ^ 1.5) ^ 0.385
End Function
我应该将布伦特方法定义为类还是函数?
我想初始化函数(即Q=1,a=1,w=1,S=1),然后将函数传递给可以返回h 值的Brent 方法。在 VB.NET 中执行此操作的最佳方法是什么?我想做一个通用的布伦特方法,我可以传递任何单值函数并找到根。
我刚刚开始使用 VB,从到目前为止我发现的情况来看,您拥有的工具似乎是 - 对我们来说是函数的委托 - 为函数使用 lambda 表达式 - 发送指针/地址 - 创建一个函数类/结构并将其提交给函数
至于现在我最倾向于创建一个函数类。但我不确定如何。前任 我为要集成的每个“uniqe 函数”创建了不同的类,但是当我需要在集成函数调用中指定参数类型时,如何将它们传递给集成函数?
这似乎是一个适用于许多数学运算的基本问题,所以我认为澄清这一点非常有用。