xkitty 发表于 2004-6-24 10:36:00

求交点

已知对数螺线方程:       x= a1 * Exp(m0 * β) * Cos(β)<BR>                                                                                                                                                                                                                                               y= a1 * Exp(m0 * β) * Sin(β)


直线方程:y=kx+b


其中,a1、m0、k、b均为已知常数。如何求两曲线的交点?请大家指点迷津。

雪山飞狐_lzh 发表于 2004-6-24 13:15:00

纯数学方法求解(不过上学没用功,忘光了)

ahlzl 发表于 2004-6-24 22:36:00

这个方程是“解不出来”的……用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就是β)

xkitty 发表于 2004-6-25 09:21:00

斑竹数学真棒!唉,我怎末没想起来用迭代法计算,计算方法真是白学了!多谢斑竹老师的指点!“长不大的斑竹”太伟大了!
页: [1]
查看完整版本: 求交点