平面内一点到另两点距离之和最小的求法 求到两点的距离之和最小的点?

\u5e73\u9762\u5185\u5230\u4e24\u70b9\u548c\u4e00\u76f4\u7ebf\u8ddd\u79bb\u4e4b\u548c\u6700\u77ed\u7684\u70b9\u600e\u4e48\u6c42

\u4f8b\uff0c\u5728\u6cb3\u8fb9\u5efa\u4e00\u4e2d\u8f6c\u7ad9\uff0c\u4f7f\u4e2d\u8f6c\u7ad9\u5230\u5de5\u5382A\uff0c\u5de5\u5382B\u8ddd\u79bb\u7684\u548c\u6700\u77ed\u3002
1\uff0c\u5047\u8bbe\u5de5\u5382\u5728\u6cb3\u6d41\u5f02\u4fa7\uff0c\u4e14\u6cb3\u6d41\u4e3a\u76f4\u7ebfL\uff0c\u6cb3\u6d41\u5bbd\u5ea6\u4e0d\u8ba1\u3002
\u8fde\u63a5AB\uff0c\u4ea4L\u4e8eP\uff0c\u5219PA+PB\u4e3a\u6700\u77ed
\u8bc1\u660e\uff1a\u5728L\u4e0a\u4efb\u53d6\u4e00\u70b9Q\uff0c\u6784\u6210\u22bfQAB
\u56e0\u4e3a\uff1aAB\uff1cQA+QB\uff08\u4e09\u89d2\u5f62\u4e24\u8fb9\u4e4b\u548c\u5927\u4e8e\u7b2c\u4e09\u8fb9\uff09
\u6240\u4ee5\uff1aPA+PB=AB\u6700\u77ed\u3002
2\uff0c\u5047\u8bbe\u5de5\u5382\u5728\u6cb3\u6d41\u540c\u4fa7\uff0c\u4e14\u6cb3\u6d41\u4e3a\u76f4\u7ebfL\uff0c\u6cb3\u6d41\u5bbd\u5ea6\u4e0d\u8ba1\u3002
\u8bbeA\u5bf9\u4e8eL\u7684\u5bf9\u79f0\u70b9\u4e3aC\uff0c\u8fde\u63a5BC\uff0c\u4e0eL\u7684\u4ea4\u70b9\u4e3aP\uff0c\u5219PA+PB\u6700\u77ed\u3002
\u8bc1\u660e\uff1a
\u56e0\u4e3a\uff1aA\uff0cC\u662f\u5173\u4e8eL\u7684\u5bf9\u79f0\u70b9
\u6240\u4ee5\uff1aPA=PC
\u56e0\u4e3a\uff1aPC+PB\u4e3a\u6700\u77ed\uff08\u5df2\u7ecf\u57281\u4e2d\u8bc1\u660e\uff09
\u6240\u4ee5\uff1aPA+PB\u6700\u77ed\u3002

\u4f60\u7684\u95ee\u9898\u4e0e\u5c06\u519b\u996e\u9a6c\u95ee\u9898\u7c7b\u4f3c\uff0c\u8fd9\u91cc\u6709\u53c2\u8003\uff1a

\u9996\u5148\uff0c\u6211\u4eec\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u4e00\u4e0b\u5bf9\u79f0\u70b9\u7684\u6982\u5ff5\u3002
\u5df2\u77e5\u4e00\u6761\u76f4\u7ebfL\u548c\u76f4\u7ebf\u5916\u4e00\u70b9A\uff0c\u6c42A\u70b9\u5173\u4e8eL\u7684\u5bf9\u79f0\u70b9A`
\u6211\u4eec\u7528\u7684\u65b9\u6cd5\u662fA\u70b9\u5411L\u5f15\u5782\u7ebf\uff0c\u5782\u8db3\u4e3aO\uff0c\u5ef6\u957fAO\u81f3A`\uff0c\u4f7fOA'=OA\uff0c\u5219A`\u70b9\u5373\u4e3a\u6240\u6c42\u3002 A
\u5176\u6b21\uff0c\u6211\u4eec\u4ecb\u7ecd\u4e00\u4e0b"\u5c06\u519b\u996e\u9a6c"\u95ee\u9898\u3002
\u636e\u8bf4\uff0c\u5728\u53e4\u5e0c\u814a\u6709\u4e00\u4f4d\u806a\u660e\u8fc7\u4eba\u7684\u5b66\u8005\uff0c\u540d\u53eb\u6d77\u4f26\u3002\u6709\u4e00\u5929\uff0c\u4e00\u4f4d\u5c06\u519b\u5411\u4ed6\u8bf7\u6559\u4e86\u4e00\u4e2a\u95ee\u9898\uff1a\u4eceA\u5730\u51fa\u53d1\u5230\u6cb3\u8fb9\u996e\u9a6c\uff0c\u7136\u540e\u518dB\u5730\uff0c\u8d70\u4ec0\u4e48\u6837\u7684\u8def\u7ebf\u6700\u77ed\uff1f\u5982\u4f55\u786e\u5b9a\u996e\u9a6c\u7684\u5730\u70b9\uff1f
\u63d0\u8d77\u8def\u7ebf\u6700\u77ed\u7684\u95ee\u9898\uff0c\u5927\u5bb6\u77e5\u9053\uff1a\u8fde\u7ed3\u4e24\u70b9\u4e4b\u95f4\u6240\u6709\u7ebf\u4e2d\uff0c\u6700\u77ed\u7684\u662f\u7ebf\u6bb5\u3002\u4e00\u4f4d\u5b66\u8005\u66fe\u5e7d\u9ed8\u5730 \u8bf4\uff0c\u8fd9\u4e00\u70b9\u8fde\u72d7\u90fd\u77e5\u9053\u3002\u72d7\u62a2\u9aa8\u5934\u5403\u65f6\uff0c\u51b3\u4e0d\u4f1a\u8fc2\u56de\u524d\u8fdb\uff0c\u800c\u662f\u5f84\u76f4\u5411\u9aa8\u5934\u6251\u53bb\u3002\u4f46\u662f\uff0c\u8fd9\u4e2a\u9898\u4e2d\u9a6c\u8d70\u7684\u662f\u4e00\u6761\u6298\u7ebf\u3002\u8fd9\u53c8\u8be5\u600e\u4e48\u529e\u5462\uff1f
\u6d77\u4f26\u7684\u65b9\u6cd5\u662f\u8fd9\u6837\u7684\uff1a\u8bbeL\u4e3a\u6cb3\u3002\u4f5c



AO L\u4ea4L\u4e8eO\u70b9\uff0c\u5ef6\u957fAO\u81f3AKL\uff0c\u4f7fALLO=AO\uff0c\u8fde\u7ed3AKLB\u4ea4L\u4e8eC\u70b9\uff0c\u5219C \u70b9\u5373\u4e3a\u6240\u6c42\u7684\u70b9\u3002\u8fde\u7ed3AC\u3002\uff08AC+CB\uff09\u4e3a\u6700\u77ed\u8def\u7a0b\u3002
\u8fd9\u662f\u56e0\u4e3a\uff0cALK\u70b9\u662fA\u70b9\u5173\u4e8eL \u7684\u5bf9\u79f0\u70b9\uff0c\u663e\u7136\uff0cAC=ADFC\u3002\u56e0\u4e3aASDBSHI\u662f\u4e00\u6761\u7ebf\u6bb5\uff0c\u6240\u4ee5AC+CB==AASC+CB=AKDBYEYE\u4e5f\u5c31\u662f\u6700\u77ed\u7684\u4e86
\u8fd9\u5c31\u662f\u6d77\u4f26\u7684\u5de7\u5999\u65b9\u6cd5\u3002
\u5c11\u5e74\u670b\u53cb\u4eec\u559c\u6b22\u6253\u53f0\u7403\u5427\uff0c\u5b9e\u9645\u4e0a\u6253\u53f0\u7403\u65e0\u65f6\u65e0\u523b\u90fd\u9700\u8981\u5e94\u7528\u6d77\u4f26\u7684\u5999\u6cd5\u3002\u4e0b\u9762\u6211\u4eec\u770b\u4e00\u4e2a\u6709\u5173\u6253\u53f0\u7403\u7684\u5b9e\u4f8b\u3002
\u82e5\u5728\u77e9\u5f62\u7684\u7403\u53f0\u4e0a\uff0c\u6709\u4e24\u4e2a\u7403\u5728M\u548cN\u7684\u4f4d\u7f6e\u4e0a\u3002\u5047\u5982\u4eceM\u6253\u51fa\u7403\uff0c\u5148\u89e6\u53caDC\u8fb9K\u70b9\uff0c\u5f39\u51fa\u540e\u53c8\u89e6\u5230CB\u8fb9E\u70b9\uff0c\u4eceCB\u8fb9\u518d\u53cd\u5c04\u51fa\u6765\u3002\u95ee\u7528\u600e\u6837\u7684\u6253\u6cd5\uff0c\u624d\u80fd\u4f7f\u8fd9\u4e2a\u7403\u53cd\u5c04\u540e\u6b63\u597d\u649e\u4e0a\u5728N \u70b9\u653e\u7f6e\u7684\u7403\uff1f
\u5177\u4f53\u505a\u6cd5\u662f\uff1a

\u5148\u4f5cM\u5173\u4e8eDC\u7684\u5bf9\u79f0\u70b9MLJLK\uff0c\u518d\u4f5cLKJ\uff1bL\u5173\u4e8eBC \u7684\u5bf9\u79f0\u70b9LKJ\u90a3\u4e48MKJN\u548cBC \u7684\u4ea4\u70b9\u4e3aE\uff0cDKL\uff1bS\u548cCD \u4ea4\u4e8eK\uff0cE\u3001K\u5c31\u662f\u7403\u548c\u5404\u8fb9\u7684\u649e\u51fb\u70b9\u3002\u6309MK\u906e\u63a9\u7684\u8df5\u7ebf\u6253\u7403\uff0c\u4e00\u5b9a\u4f1a\u4f7f\u7403M\u4eceBC\u8fb9\u5f39\u51fa\u540e\u649e\u4e0a\u7403N\u3002

怎样“求空间内一点到其它所有点的距离之和最小”?首先将这个问题形式化:
 公式代码:
\min f(x,y) = \min \sum_i \sqrt {(x - x_i)^2 + (y - y_i)^2}
这里是距离之和,而不是平方和。Kmeans聚类中用的评价标准是平方和,如果只有一个类中心,那么可以直接求偏导得到使得平方和最小的点就是中心。这里问题与平方和的解是不是一样的,比如三角形到三个顶点距离之和最短的点就是费马点。
这里可以用最优化方法中的“搜索”来求解,这一系列方法包括了梯度下降法、牛顿法和共轭梯度法等。在这里用梯度下降法是最简单的,通过这个例子我也明白了为什么实际运用中梯度下降法是应用最广的。相比梯度下降法,牛顿法需要求Hesse矩阵,还是相对麻 烦不少。梯度下降法搜索步骤就是每一步都向导数的逆方向将自变量前进一个步长(可变),在这里导数方向就是
 
公式代码:
abla f(x,y) =
\left[
\begin{array} {lcr}
\displaystyle \sum_i \frac{x - x_i}{\sqrt{(x - x_i)^2 + (y - y_i)^2pan >}} \\
\displaystyle \sum_i \frac{y - y_i}{\sqrt{(x - x_i)^2 + (y - y_i)^2}}
\end{array}
\right]
梯度下降法也有它使用起来让人比较为难的地方,那就是步长很难选取,课本上所给出的例子一般都是针对较简单表达式提出的可变步长计算。在本问题的求解中为简单起见,步长是取的定值。整个过程用Python3实现(起初想用R来做,但是R没法调试……归根结底还是功力不够)实现,结合了scipy和matplotlib两个包,结果看起来还是比较靠谱:

最后附上源代码:
Python 3语言: 高亮代码由发芽网提供
from scipy import *
import pylab
def f(p, pts):
return sum(sum((p - pts) ** 2, axis=1) ** 0.5)
def fd(p, pts):
dx = sum((p[0] - pts[:, 0]) / sum((p - pts) ** 2, axis=1) ** 0.5)
dy = sum((p[1] - pts[:, 1]) / sum((p - pts) ** 2, axis=1) ** 0.5)
s = (dx ** 2 + dy ** 2) ** 0.5
br> dx /= s
dy /= s
return array([dx, dy])

pts = rand(10, 2)
x = array([0, 0])
t = 0.1
xstep = x
for k in range(100):
y = f(x, pts)
xk = x - t * fd(x, pts)
yk = f(xk, pts)
if y - yk > 1e-8:
x = xk
y = yk
elif yk - y > 1e-8:
t *= 0.5
else:
break
xstep = vstack((xstep, x))
print(x, y)
pylab.plot(pts[:, 0], pts[:, 1], 'bo')
pylab.plot(xstep[:, 0], xstep[:, 1], 'ro')
pylab.plot(xstep[:, 0], xstep[:, 1], 'k-')
pylab.xlabel('iter = %d, Min = %.3f, p = (%.3f, %.3f), t = %f' % (k, y, x[0], x[1], t))
pylab.show()

怎样“求空间内一点到其它所有点的距离之和最小”?首先将这个问题形式化:
 公式代码:
\min f(x,y) = \min \sum_i \sqrt {(x - x_i)^2 + (y - y_i)^2}
这里是距离之和,而不是平方和。Kmeans聚类中用的评价标准是平方和,如果只有一个类中心,那么可以直接求偏导得到使得平方和最小的点就是中心。这里问题与平方和的解是不是一样的,比如三角形到三个顶点距离之和最短的点就是费马点。
这里可以用最优化方法中的“搜索”来求解,这一系列方法包括了梯度下降法、牛顿法和共轭梯度法等。在这里用梯度下降法是最简单的,通过这个例子我也明白了为什么实际运用中梯度下降法是应用最广的。相比梯度下降法,牛顿法需要求Hesse矩阵,还是相对麻 烦不少。梯度下降法搜索步骤就是每一步都向导数的逆方向将自变量前进一个步长(可变),在这里导数方向就是
 
公式代码:
abla f(x,y) =
\left[
\begin{array} {lcr}
\displaystyle \sum_i \frac{x - x_i}{\sqrt{(x - x_i)^2 + (y - y_i)^

一点到两点的距离的和最小,则此点必在两点连线上,这种点有无数个,距离之和最小就是两点连线的线段的长。希望能帮到你…

以河流为对称轴,作A点的对称点,记为A',连接A'与B,直线A'B与河流的交点,建中转站,到A点B点的距离相等,原理是两点之间线段最短

  • 骞抽潰鍐呬竴鐐瑰埌鍙︿袱鐐硅窛绂讳箣鍜屾渶灏鐨勬眰娉
    绛旓細 鍏紡浠g爜锛歕min f(x,y) = \min \sum_i \sqrt {(x - x_i)^2 + (y - y_i)^2} 杩欓噷鏄璺濈涔嬪拰锛岃屼笉鏄钩鏂瑰拰銆侹means鑱氱被涓鐢ㄧ殑璇勪环鏍囧噯鏄钩鏂瑰拰锛屽鏋滃彧鏈変竴涓被涓績锛岄偅涔堝彲浠ョ洿鎺ユ眰鍋忓寰楀埌浣垮緱骞虫柟鍜屾渶灏鐨勭偣灏辨槸涓績銆傝繖閲岄棶棰樹笌骞虫柟鍜岀殑瑙f槸涓嶆槸涓鏍风殑锛屾瘮濡備笁瑙...
  • c璇█ 濡備綍姹涓鐐,浣垮叾鍒骞抽潰涓婂叾浠栧凡鐭ョ偣鐨勮窛绂诲拰鏈灏?
    绛旓細1. 褰撳钩闈笂鐨勫凡鐭ョ偣鏁伴噺杈冨皯鏃讹紝鍙互閫氳繃鏁板鍜屽嚑浣曠殑鏂规硶绮剧‘姹傝В锛屾壘鍒颁娇鐐瑰埌鍏朵粬宸茬煡鐐硅窛绂诲拰鏈灏忕殑鐐銆2. 瀵逛簬姹傝В鐐瑰埌鍏朵粬鐐圭殑璺濈鍜屾渶灏忕殑闂锛屾垜浠彲浠ヨ瀹氫竴涓垵濮嬬殑鐐(x, y)锛岄氬父閫夋嫨x鍜寉鐨勫煎垎鍒负瀹冧滑鍙兘鍙栧肩殑鏈灏忓拰鏈灏忋3. 鐒跺悗锛屾垜浠彲浠ラ氳繃宓屽寰幆閬嶅巻鎵鏈夊彲鑳界殑鐐瑰潗鏍(x,...
  • ...鍦骞抽潰涓婃壘涓鐐c,浣縞鍒癮,b涓ょ偣鐨勮窛绂讳箣鍜屾渶灏
    绛旓細杩炴帴ab涓ょ偣锛屼换鎰忓彇ab涓ょ偣杩炵嚎涓竴鐐涓篊銆俢鍒癮锛宐涓ょ偣鐨勮窛绂讳箣鍜閮芥槸鏈灏銆備负浠涔?涓ょ偣涔嬮棿鐩寸嚎鏈鐭
  • ...4,1)鍦X杞翠笂鍙涓鐐P浣垮緱P鐐瑰埌A,B涓ょ偣闂寸殑璺濈涔嬪拰鏈灏
    绛旓細瑕佷娇PA+PB鏈灏锛岃嫢P涓簒杞翠笂闈濧鐨勭偣锛屾牴鎹笁瑙掑舰涓よ竟涔嬪拰澶т簬绗笁杈 鐨勬ц川鍙煡锛孭A+PB>AB 锛屼絾P涓嶢閲嶅悎鏃讹紝PA+PB=AB 鎵浠ワ紝P鐐瑰潗鏍囨槸(2,0)(2)AP鐨勫ぇ灏忓緢瀹规槗姹傦紝浣咮P鐨勫ぇ灏忎笉鐢ㄥ嬀鑲″畾鐞嗗緢闅炬眰銆傛弧鎰忔垜鐨勫洖绛旀暚璇烽噰绾筹紝O(鈭鈭)O璋㈣阿 ...
  • 濡備綍姹涓鐐瑰埌鍙﹀涓ょ偣鐨勬渶鐭璺濈鍜 杩樿璇佹槑杩囩▼
    绛旓細鎶奱鎴栬卋鍏充簬mn杩欐潯鐩寸嚎瀵圭О杩囧幓锛岀劧鍚庝袱鑰呬箣闂磋繛绾匡紝鍜宮n鐨勪氦鐐瑰氨鏄渶鐭殑鍦版柟銆傘傘 璇佹槑鏄繖鏍风殑锛屾瘮濡傝锛屼綘鎶奲鍏充簬mn缁欏绉拌繃鍘讳簡锛屽绉拌繃鍘荤殑鐐规槸b'锛岃繖鏍穖n灏辨槸bb'鐨勪腑鍨傜嚎锛宐鍒癿n涓婄殑浠绘剰涓鐐圭殑璺濈鍜宐'鍒癿n涓婅繖涓鐐圭殑璺濈閮芥槸涓鏍风殑銆傝屽洜涓轰袱鐐逛箣闂寸洿绾挎渶鐭紝a鍜宐'涔嬮棿鐨勮窛绂绘渶鐭...
  • 骞抽潰鍐鏌涓鐐瑰埌涓夎褰㈢殑鍚勭鐐圭殑璺濈涔嬪拰鏈鐭殑閭d竴鐐规庝箞姹??
    绛旓細璇ョ偣鍙仛涓夎褰㈢殑鍨傚績鍐呭績瀹氱悊锛氫笁瑙掑舰鐨勪笁鍐呰骞冲垎绾夸氦浜涓鐐銆傝鐐瑰彨鍋氫笁瑙掑舰鐨勫唴蹇冦傛梺蹇冨畾鐞嗭細涓夎褰竴鍐呰骞冲垎绾垮拰鍙﹀涓ら《鐐瑰鐨勫瑙掑钩鍒嗙嚎浜や簬涓鐐广傝鐐瑰彨鍋氫笁瑙掑舰鐨勬梺蹇冦備笁瑙掑舰鏈変笁涓梺蹇冦傞噸蹇冨畾鐞嗭細涓夎褰㈢殑涓夋潯涓嚎浜や簬涓鐐癸紝杩欑偣鍒伴《鐐圭殑绂绘槸瀹冨埌瀵硅竟涓偣璺濈鐨2鍊嶃傝鐐瑰彨鍋氫笁瑙掑舰鐨...
  • 搴旂敤骞抽潰鍐呬袱鐐闂璺濈鍏紡姹備唬鏁板紡鈭歔x2+(y-2)2]+鈭歔(x-3)2+(y-1...
    绛旓細鎵姹傚紡瀛愯〃绀轰换涓鐐锛坸,y锛夊埌鐐(0,2),鐐(3,1)鐨勮窛绂讳箣鍜,褰撹繖涓夌偣鍏辩嚎鏃,璺濈涔嬪拰鏈灏,鏈灏忓间负鐐(0,2)鍒扮偣(3,1)鐨勮窛绂绘牴鍙10
  • ...鍦X杞翠笂鍙涓鐐P,浣垮緱P鐐瑰埌A,B涓ょ偣鐨勮窛绂讳箣鍜屾渶灏,姹傝繖
    绛旓細瑙o細鐢遍鎰忕煡锛岀偣A鐨勫叧浜巟杞寸殑瀵圭О鐐笶鐨勫潗鏍囦负锛0锛-2锛夎鐩寸嚎EP鐨勮В鏋愬紡涓簓=kx+b锛屽垯鏈?2锛漛1锛4k+b锛岃В寰楋紝b=-2锛宬=34锛屸埓y=34x-2锛屽綋y=0鏃讹紝x=83锛屽嵆鐐筆鐨勫潗鏍囦负锛83锛0锛夛紟浣滃叧浜嶢鐐瑰绉扮偣鍧愭爣A鈥诧紝杩炴帴A鈥睟锛岃繖涓鏈灏鍊间负锛32+42=5锛
  • ...鍦x杞翠笂鍙涓鐐P,浣跨偣P鍒扮偣A鍜岀偣B鐨璺濈涔嬪拰鏈灏,
    绛旓細杩炴帴AP锛屽垯姝ゆ椂AP+PB鏈灏忥紝鍗虫鏃剁偣P鍒扮偣A鍜岀偣B鐨璺濈涔嬪拰鏈灏锛屸埖A锛-2锛4锛夛紝鈭碈锛-2锛-4锛夛紝璁剧洿绾緾B鐨勮В鏋愬紡鏄痽=kx+b锛屾妸C銆丅鐨勫潗鏍囦唬鍏ュ緱锛2锛4k+b?4锛?2k+b锛岃В寰楋細k=1锛宐=-2锛屸埓y=x-2锛屾妸y=0浠e叆寰楋細0=x-2锛寈=2锛屽嵆P鐨勫潗鏍囨槸锛2锛0锛夛紝鏁呴塁锛
  • 骞抽潰鍐呭埌涓ょ偣鍜涓鐩寸嚎璺濈涔嬪拰鏈鐭殑鐐规庝箞姹
    绛旓細渚嬶紝鍦ㄦ渤杈瑰缓涓涓浆绔欙紝浣夸腑杞珯鍒板伐鍘侫锛屽伐鍘侭璺濈鐨勫拰鏈鐭1锛屽亣璁惧伐鍘傚湪娌虫祦寮備晶锛屼笖娌虫祦涓虹洿绾縇锛屾渤娴佸搴︿笉璁°傝繛鎺B锛屼氦L浜嶱锛屽垯PA+PB涓烘渶鐭 璇佹槑锛氬湪L涓婁换鍙涓鐐Q锛屾瀯鎴愨娍QAB 鍥犱负锛欰B锛淨A+QB锛堜笁瑙掑舰涓よ竟涔嬪拰澶т簬绗笁杈癸級鎵浠ワ細PA+PB=AB鏈鐭2锛屽亣璁惧伐鍘傚湪娌虫祦鍚屼晶锛屼笖娌虫祦...
  • 扩展阅读:坐标两点间距离公式 ... 初一两点间距离公式 ... 同一经线两点距离公式 ... 平面两点距离公式 ... 两点间距离公式数学 ... 两点距离之差最大图解 ... 两点间距离公式口诀 ... 到四个点距离之和最小 ... 坐标系两点距离公式口诀 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网