Finne skjæringspunktet mellom to kurvene er én måte å finne løsningen på et system av likninger . Excel kan plotte et system av ligninger på en graf . Skjæringspunktet mellom de to kurvene er løsningen til systemet av likninger . Mens det er ikke en innebygd funksjon for å beregne skjæringspunktet mellom to kurver i Excel , kan du bruke Visual Basic for Applications ( VBA ) for å finne løsningen. Instruksjoner
en
Klikk på " Developer "-fanen og deretter " Visual Basic " for å åpne Visual Basic Editor .
2
Klikk "Sett inn " og deretter klikk " module " for å åpne en blank modul vindu
3
Kopier og lim inn følgende kode i modulen vinduet: . ' Finn det punktet hvor to segmenter intersect.Public Sub FindLineIntersection ( _ByVal x11 som singel , ByVal Y11 Som Single, _ByVal x12 Som Single, ByVal Y12 Som Single, _ByVal x21 As Single, ByVal Y21 Som Single, _ByVal x22 As Single, ByVal Y22 Som Single, _ByRef inter_x Som Single, ByRef inter_y Som Single, _ByRef inter_x1 Som Single, ByRef inter_y1 Som Single, _ByRef inter_x2 Som Single, inter_y2 ByRef As Single) Dim DX1 Som SingleDim DY1 Som SingleDim dx2 Som SingleDim dy2 Som SingleDim t1 Som SingleDim t2 Som SingleDim nevner som singel
'Get segmentene parameters.dx1 = x12 - x11dy1 = Y12 - y11dx2 = x22 - x21dy2 = Y22 - Y21
' Løs for t1 og t2.On Feil Resume Nextdenominator = ( DY1 * dx2 - DX1 * dy2 ) t1 = ( ( x11 - x21 ) * dy2 + ( Y21 - Y11 ) * dx2 ) /_denominatorIf err.number < > 0 Then ' linjene er parallel.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 SubEnd IfOn Feil GoTo 0t2 = ( ( x21 - x11 ) * DY1 + ( Y11 - Y21 ) * DX1 ) /_ - nevneren
' Finn poenget med intersection.inter_x = x11 + DX1 * t1inter_y = Y11 + DY1 * t1
' Finn de nærmeste punktene på segments.If t1 < 0 Thent1 = 0ElseIf t1 > 1 Thent1 = 1End IfIf t2 < 0 Thent2 = 0ElseIf t2 > 1 Thent2 = 1End Ifinter_x1 = x11 + DX1 * t1inter_y1 = Y11 + DY1 * t1inter_x2 = x21 + dx2 * t2inter_y2 = Y21 + dy2 * t2End Sub
4
Press "F5 " for å kjøre rutinen .