楼主: yhy007
7741 5

[问答] matlab cvx报错求助 [推广有奖]

  • 0关注
  • 0粉丝

VIP1

初中生

4%

还不是VIP/贵宾

-

威望
0
论坛币
2154 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
795 点
帖子
6
精华
0
在线时间
18 小时
注册时间
2010-3-16
最后登录
2016-9-17

15论坛币
n=20;
e=normrnd(0,0.1,n,1);
d_mean=10+e;
a=randsample(500,n)/(2*pi);   %角度[0,2*pi]
x=2+d*cos(a);
y=3+d*sin(a);
A=[x y];

cvx_begin
variables x0 y0
minimize sum((sqrt((A(:,1)-x0).^2+(A(:,2)-y0).^2)-d_mean).^2)
cvx_end
前面是编数据的过程,问题是假设有一个位置点(x0,y0),我已知20个点的坐标和估算出的每个点到未知点的平均距离d_mean。
对于未知的(x0,y0),距离真实值是d=sqrt((x-x0)^2+(y-y0)^2),SSE=(d-d_mean)^2,这里用cvx,min(SSE)来估算(x0,y0)
第一部分是makeup数据,A存储了所有已知点的坐标,方便验证我取了d_mean=10+normrnd。
cvx部分报错,如下:
错误使用 cvx/sqrt (line 61)
Disciplined convex programming error:
    Illegal operation: sqrt( {convex} ).

出错 minimize (line 14)
    x = evalin( 'caller', sprintf( '%s ', varargin{:} ) );
求大神帮忙解决
虽然强行cvx_end也有结果,但有报错。


关键词:MATLAB matla atlab Atl Lab matlab
沙发
yhy007 发表于 2016-9-10 21:54:52 |只看作者 |坛友微信交流群
顶一下,大家谁帮我解决cvx报错的部分啊啊啊啊!!!!!!!!!!!

使用道具

藤椅
yhy007 发表于 2016-9-11 23:30:40 |只看作者 |坛友微信交流群
难道是分数太少,没人愿意解答么。可以追加!!!!!!

使用道具

板凳
yhy007 发表于 2016-9-12 03:25:28 |只看作者 |坛友微信交流群
自己已解决。。。

使用道具

请问大神如何解决的?我现在也遇到了相同的问题

使用道具

地板
88307 发表于 2017-8-21 20:24:55 |只看作者 |坛友微信交流群
yhy007 发表于 2016-9-12 03:25
自己已解决。。。
请问楼主怎么解决的,我也遇到了这个问题!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-6 00:32