求交点
已知对数螺线方程: x= a1 * Exp(m0 * β) * Cos(β)<BR> y= a1 * Exp(m0 * β) * Sin(β)直线方程:y=kx+b
其中,a1、m0、k、b均为已知常数。如何求两曲线的交点?请大家指点迷津。 纯数学方法求解(不过上学没用功,忘光了) 这个方程是“解不出来”的……用VBA试试! Sub abc()a1 = 4: m0 = 1: k = 1: b = -3 '一个例子
Dim z0 As Double, z1 As Double
z0 = 0 '赋初值
z1 = z0
Do
z0 = z1
fz = a1 * Exp(m * z0) * Sin(z0) - a1 * Exp(m * z0) * Cos(z0) - b
flz = a1 * Exp(m * z0) * Cos(z0) + a1 * m * Exp(m * z0) * Cos(z0) _
- a1 * m * Exp(m * z0) * Cos(z0) + a1 * Exp(m * z0) * Sin(z0)z1 = z0 - fz / flz
Loop While Abs(z1 - z0) > 0.000000001x = a1 * Exp(z0) * Cos(z0)
y = a1 * Exp(z0) * Sin(z0)
MsgBox "z0=" & z0 & "时" & vbCrLf & vbCrLf & "x=" & x & vbCrLf & "y=" & yEnd Sub另,这个交点可是有无穷多个啊!这个例子只是求出一个。(代码中的z0就是β)
斑竹数学真棒!唉,我怎末没想起来用迭代法计算,计算方法真是白学了!多谢斑竹老师的指点!“长不大的斑竹”太伟大了!
页:
[1]