譬如有个曲线是f(x,y)=0,(它可以是抛物线、圆、甚至乱七八糟的图形)
又有一个定点是(xo,y0)。想要计算点到f(x,y)=0的距离(最小距离),
我刚才发现了一个新方法。
至于Mathematica有没有现成的函数,
我还没读完virtual book,也还不知道,有请板上朋友解说这部分了。
因为这个新方法有用到特别的思路来解决问题,所以特别把思路说明一下。
我这篇的po文要旨,也只是想分享思路、顺便记录而已。
我的方法是用符号逻辑着手,
给一定点A(x0,y0),想求它到曲线f(x,y)=0的最小距离,
考虑A到所有f(x,y)=0上的点的距离,把这∞个距离想成一个集合,
然后求其最小值。可是mathematica似乎无法对集合求最小值。
并且"这∞个距离想成一个集合"说归说,要怎么写?
如果是数学,写成 集合K={d | 存在x,y, f(x,y)=0且d=点到图形距离} 是可以
(注意这里是存在(there exists),不是对于所有(for all))
问题是mathematica能不能看得懂,能不能转成它的指令的问题。
我认为有机会,但不保证。譬如曲线是y^13 == 4 x^2 + 5 x^2 + x,定点是(21,6)
Reduce[Exists[{x, y},
y^13 == 4 x^2 + 5 x^2 + x && Sqrt[(x - 21)^2 + (y - 6)^2] == d], d]
跑很久跑不出来。我猜可能是因为,d不是单纯的"区间"、或者是好几个区间的联集,
它可能错综复杂,是支离破碎的一堆实数。mathematica给不出形式来。
(当然我的example, 好像可以用数学理论证看看d是不是区间@@,
但太麻烦了)