楼主: yhy007
8243 5

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

  • 0关注
  • 0粉丝

VIP1

初中生

4%

还不是VIP/贵宾

-

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

楼主
yhy007 发表于 2016-9-10 00:02:14 |AI写论文
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
自己已解决。。。

报纸
上善若水之水 发表于 2017-4-16 17:44:48
请问大神如何解决的?我现在也遇到了相同的问题

地板
88307 发表于 2017-8-21 20:24:55
yhy007 发表于 2016-9-12 03:25
自己已解决。。。
请问楼主怎么解决的,我也遇到了这个问题!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 10:41