matlab怎么找曲线距离原点最近的点

 我来答
lhmhz
高粉答主

2020-12-04 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17014

向TA提问 私信TA
展开全部

如何用matlab怎么找曲线距离原点最近的点?这个问题的关键就是要找到原点到曲线上的一点的距离为最短,其最小值问题为

min d =sqrt((x2-x1)²+(y2-y1)²)=sqrt((x2)²+(y2)²) ,这里【x1,y1】为原点

对于最小值问题,可以用fmincom函数来求解其最小值(也就是原点到曲线上的一点最短距离),其实现方法:

1、自定义曲线函数(例如,抛物线x^0.5+y^0.5=1),即

function d=fmincon_fun(k);

x2=k(1);

y2=(1-sqrt(x2))^2;  %

x1=0;y1=0;

d=sqrt((x2-x1)^2+(y2-y1)^2);

2、使用 fmincon函数,求得满足最短距离的x值。

k0=0.2;  %x的初值

lb=[0];ub=[5];  %x的上下限值

[k,fval,exitflag] = fmincon(@(k) fmincon_fun(k),k0,[],[],[],[],lb,ub)

3、显示曲线上的一点【x2,y2】,及最短距离d

x2=k(1)

y2=(1-sqrt(a))^2

d=fval

4、运行结果

原点【0,0】到曲线(x^0.5+y^0.5=1)上的一点【0.25,0.25】的距离为最短。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式