ubiquitour.com

Cómo calcular las intersecciones de la curva en Excel

Cómo calcular las intersecciones de la curva en Excel

Encontrar la intersección de dos curvas, es una manera de encontrar la solución a un sistema de ecuaciones. Excel puede trazar un sistema de ecuaciones en una gráfico. La intersección de las dos curvas es la solución para el sistema de ecuaciones. Mientras que allí no es una función incorporada para calcular la intersección de dos curvas en Excel, puede utilizar Visual Basic para aplicaciones (VBA) para encontrar la solución.

Instrucciones

1 Haga clic en la ficha "Programador" y haga clic en "Visual Basic" para abrir el Editor de Visual Basic.

2 Haga clic en "Insertar" y haga clic en "Módulo" para abrir una ventana de módulo en blanco.

3 Copie y pegue el código siguiente en la ventana módulo:' Encontrar el punto de intersección de dos segmentos.Público 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 como únicoDim dy1 como únicoDim dx2 como únicoDim dy2 como únicoDim t1 como únicoDim t2 como únicoComo solo DIM denominador

' 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 Presione "F5" para ejecutar la rutina.

Consejos y advertencias

  • Si la ficha programador no se muestra, puede que necesite activarlo. Haga clic en el botón "Windows" y haga clic en "Opciones de Excel". Haga clic en la pestaña de "Popular", a continuación, haga clic en la casilla de verificación "Show Developer Tab en la cinta" y haga clic en "Aceptar".