早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用MATLAB求点到椭球面距离已知如图a、b和点的位置,求点到球面的距离。最好是用MATLAB的。谢谢~

题目详情
用MATLAB求点到椭球面距离已知如图a、b和点的位置,求点到球面的距离。最好是用MATLAB的。谢谢~
▼优质解答
答案和解析

这个应当不难:可以采用参数方程画出椭圆,然后利用点坐标到参数方程的距离解决:问题是楼主的表达有问题,如果是点到线的距离就有多个值,(准确的说是个函数),例如,原点(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