Hvordan beregne Curve Intersections i Excel

Hvordan beregne Curve Intersections i Excel


Finne skjæringspunktet mellom to kurver er én måte å finne løsningen på et system av ligninger. Excel kan plotte et system av ligninger på en graf. Skjæringspunktet mellom de to kurvene er løsningen til ligningssystemet. Mens det ikke er en innebygd funksjon for å beregne skjæringspunktet mellom to kurver i Excel, kan du bruke Visual Basic for Applications (VBA) for å finne løsningen.

Bruksanvisning

1 Klikk på "Utvikler" fanen, og klikk deretter på "Visual Basic" for å åpne Visual Basic Editor.

2 Klikk "Sett inn" og deretter "Module" for å åpne en tom modul vindu.

3 Kopier og lim inn følgende kode inn i modulen vinduet:
'Finn det punktet hvor to segmentene krysser hverandre.
Public Sub FindLineIntersection (_

ByVal x11 As Single, ByVal y11 As Single, _
ByVal x12 As Single, ByVal y12 As Single, _
ByVal x21 As Single, ByVal y21 As Single, _
ByVal x22 As Single, ByVal y22 As Single, _
ByRef inter_x As Single, ByRef inter_y As Single, _
ByRef inter_x1 As Single, ByRef inter_y1 As Single, _
ByRef inter_x2 As Single, ByRef inter_y2 As Single)

Dim DX1 ​​som singel
Dim DY1 som singel
Dim DX2 som singel
Dim dy2 som singel
Dim t1 som singel
Dim t2 som singel
Dim evner som singel

' Get the segments' parameters.
dx1 = x12 - x11
dy1 = y12 - y11
dx2 = x22 - x21
dy2 = y22 - y21

"Løs for t1 og t2.
På Error Resume Next
evner = (DY1 * DX2 - DX1 * dy2)
t1 = ((x11 - x21) * dy2 + (y21 - Y11) * DX2) / _
evner
Hvis err.number & lt;> 0 Then
"Linjene er parallelle.
inter_x = 1E + 38: inter_y = 1E + 38
inter_x1 = 1E + 38: inter_y1 = 1E + 38
inter_x2 = 1E + 38: inter_y2 = 1E + 38
Exit Sub
Slutt om
På Error GoTo 0
t2 = ((x21 - x11) * DY1 + (Y11 - y21) * DX1) / _
-denominator

'Finn skjæringspunktet.
inter_x = x11 + DX1 * t1
inter_y = Y11 + DY1 * t1

'Finn de nærmeste punktene på segmentene.
Hvis t1 & lt; 0 Then
t1 = 0
ElseIf t1> 1 Da
t1 = 1
Slutt om
Hvis t2 & lt; 0 Then
t2 = 0
ElseIf t2> 1 Da
t2 = 1
Slutt om
inter_x1 = x11 + DX1 * t1
inter_y1 = Y11 + DY1 * t1
inter_x2 = x21 + DX2 * t2
inter_y2 = y21 + dy2 * t2

End Sub

4 Trykk "F5" for å kjøre rutinen.

Hint

  • Hvis kategorien Utvikler ikke vises, må du kanskje aktivere den. Klikk på "Windows" knappen og deretter "Alternativer for Excel." Klikk på "Popular" -kategorien, klikk på "Show Developer Tab på båndet" boksen og klikk "OK."