Nwlapcug.com


Come calcolare la curva intersezioni in Excel

Come calcolare la curva intersezioni in Excel


Trovare l'intersezione delle due curve è un modo per trovare la soluzione ad un sistema di equazioni. Excel è possibile tracciare un sistema di equazioni su un grafico. L'intersezione delle due curve è la soluzione per il sistema di equazioni. Mentre non c'è una funzione incorporata per calcolare l'intersezione tra due curve in Excel, è possibile utilizzare Visual Basic, Applications Edition (VBA) per trovare la soluzione.

Istruzioni

1

Scegliere la scheda "Sviluppo" e quindi fare clic su "Visual Basic" per aprire l'Editor di Visual Basic.

2

Fare clic su "Inserisci" e quindi fare clic su "Modulo" per aprire una finestra del modulo in bianco.

3

Copiare e incollare il codice seguente nella finestra del modulo:
' Trovare il punto di intersecano di due segmenti.
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 As Single
Dim dy1 As Single
Dim dx2 As Single
Dim dy2 As Single
Dim t1 As Single
Dim t2 As Single
Dim denominatore As Single

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

' Solve for t1 and t2.
On Error Resume Next
denominator = (dy1 * dx2 - dx1 * dy2)
t1 = ((x11 - x21) * dy2 + (y21 - y11) * dx2) / _
denominator
If Err.Number <> 0 Then
' The lines are 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 Sub
End If
On Error GoTo 0
t2 = ((x21 - x11) * dy1 + (y11 - y21) * dx1) / _
-denominator

' Find the point of intersection.
inter_x = x11 + dx1 * t1
inter_y = y11 + dy1 * t1

' Find the closest points on the segments.
If t1 < 0 Then
t1 = 0
ElseIf t1 > 1 Then
t1 = 1
End If
If t2 < 0 Then
t2 = 0
ElseIf t2 > 1 Then
t2 = 1
End If
inter_x1 = x11 + dx1 * t1
inter_y1 = y11 + dy1 * t1
inter_x2 = x21 + dx2 * t2
inter_y2 = y21 + dy2 * t2

End Sub

4

Premere "F5" per eseguire la routine.

Consigli & Avvertenze

  • Se la scheda sviluppo non è visualizzata, è necessario attivarlo. Fare clic sul pulsante "Windows" e quindi fare clic su "Opzioni di Excel". Fare clic sulla scheda "Popolare", quindi selezionare la casella di controllo "Mostra scheda sviluppo sulla barra multifunzione" e quindi fare clic su "OK".