这个应当不难:可以采用参数方程画出椭圆,然后利用点坐标到参数方程的距离解决:问题是楼主的表达有问题,如果是点到线的距离就有多个值,(准确的说是个函数),例如,原点(0,0)到椭圆右端点距离是a/2,到上端点的距离是b/2.那这里我就认为楼主是要求最短距离了,我假定了些数据:
a=2%长短半轴
b=1
m=4%已知一点的坐标
n=5
t=[0:0.1:2*pi]
x=a*cos(t)%椭圆参数方程
y=b*sin(t)
M=m*ones(size(t))
N=n*ones(size(t))
d=sqrt((M-x).^2+(N-y).^2)%点到椭圆的距离
q=min(d)%点到椭圆的最短距离
plot(x,y)
hold on
plot(m,n,'ro')%展示
for i=1:2*pi/0.1%寻找与最短距离相等时的元素排行
if d(1,i)==q
T=0.1*i
x0=a*cos(T)%将此元素的对应的椭圆坐标表表示出来
y0=b*sin(T)
plot(x0,y0,'bo')
end
end
hold off