Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vypočítať krivka križovatkách v programe Excel

Hľadanie priesečník dvoch kriviek je jeden spôsob , ako nájsť riešenie sústavy rovníc . V programe Excel možno vykresliť sústavu rovníc na jednom grafe . Priesečník týchto dvoch kriviek je riešením sústavy rovníc . Kým tam nie je vstavaná funkcia pre výpočet priesečníku oboch kriviek v programe Excel , môžete použiť Visual Basic for Applications ( VBA ) nájsť riešenie . Pokyny dovolená 1

Kliknite na kartu " Vývojár " a potom kliknite na tlačidlo " Visual Basic " otvorte Editor jazyka Visual Basic .
2

Kliknite na " Vložiť " a potom kliknite na " modul " pre otvorenie prázdne okno modulu
3

skopírujte a vložte nasledujúci kód do okna modulu : . " Nájdite bod , kde dva segmenty intersect.Public Sub FindLineIntersection ( _ByVal x11 ako Single , byVal Y11 ako Single , _ByVal x12 As Single , byval y12 ako Single , _ByVal x21 As Single , byval Y21 ako Single , _ByVal x22 As Single , byval Y22 ako samostatné , _ByRef inter_x ako Single , ByRef inter_y ako Single , _ByRef inter_x1 ako Single , ByRef inter_y1 As Single , _ByRef inter_x2 ako samostatné , ByRef inter_y2 ako Single ) Dim DX1 ako SingleDim dy1 ako SingleDim DX2 ako SingleDim dy2 ako SingleDim t1 ako SingleDim t2 ako SingleDim menovateľa ako Single

" Get segmentov parameters.dx1 = x12 - x11dy1 = y12 - y11dx2 = x22 - x21dy2 = Y22 - Y21

" Riešenie pre t1 a t2.On Error Resume Nextdenominator = ( dy1 * DX2 - DX1 * dy2 ) t1 = ( ( x11 - x21 ) * dy2 + ( Y21 - Y11 ) * DX2 ) /_denominatorIf err.number < > 0 Then ' linky sú 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 iFone Error GoTo 0t2 = ( ( x21 - x11 ) * dy1 + ( Y11 - Y21 ) * DX1 ) /_ - menovateľ

" Hľadať bod intersection.inter_x = x11 + DX1 * t1inter_y = Y11 + dy1 * t1

" nájdite najbližšiu hodnotu bodov na segments.If t1 < 0 Thent1 = 0ElseIf t1 > 1 Thent1 = 1End nNejsou ak 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 " spustiť rutinu .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené