我也想过编程,你说的我能理解,但具体实现不会。我还有如下疑问希望不吝赐教!
VBA编程能内嵌到excel中吗?或者VBA能读取excel数据文件吗?
我的输入参数有:Xa,Ya,Qa(A曲线采点数目),Xb,Yb,Qb(B曲线采点数目),阀值(X、Y相同)Ra=Rb=0.5
大仙教我~~~~
1. EXCEL内嵌VBA
2. 把EXCEL文件给我
3. 留QQ号码
扣扣久零五七二一六二八
追答太有才了,中文,赞一个。
下周一联系你。回家了,事情多,不方便做,
恩恩
追答Public Function ifMeet(ByVal Xa As Double, ByVal Ya As Double, ByVal Xb As Double, ByVal Yb As Double) As Boolean
ifMeet = False '强制初始化返回值
Dim DIS As Double '表示距离
DIS = ((Xa - Xb) ^ 2 + (Ya - Yb) ^ 2) ^ 0.5 '最基础的数学公式
If DIS < 0.1 Then ifMeet = True '交点阈值为0.1
End Function
Public Sub test()
Dim A(3, 2) As Double 'A线有三个数据点
Dim B(4, 2) As Double 'B线有四个数据点
'A线是一条45度的斜线
A(0, 0) = 1
A(0, 1) = 1
A(1, 0) = 2
A(1, 1) = 2
A(2, 0) = 3
A(2, 1) = 3
'B线是一条和Y轴平行的线
B(0, 0) = 2
B(0, 1) = -1
B(1, 0) = 2
B(1, 1) = 0
B(2, 0) = 2
B(2, 1) = 1
B(3, 0) = 2
B(3, 1) = 2
'外循环,A线上的三点
For i = 0 To 2
Xa = A(i, 0)
Ya = A(i, 1)
'内循环,B线上的四点
For j = 0 To 3
Xb = B(j, 0)
Yb = B(j, 1)
If ifMeet(Xa, Ya, Xb, Yb) Then MsgBox "A" + Str(i) + "和" + "B" + Str(j) + "有交点。"
Next j
Next i
End Sub
其中一条曲线有公式
另一条是软件计算得到的,没有公式。
那你就把另一条曲线用图表拟合出来,用迭代法求解曲线交点
如果一定要在excel上算只能用VBA了
如果不一定要在excel上,可以用matlab,只要一个函数就解决了。。。