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

MATLAB求解二次规划问题SeDuMi与quadprog结果不同小弟想估计发射源的位置以及速度,当下式最小时,phi2为发射源位置以及速度的平方,即(x^2;y^2;z^2;xdot^2;ydot^2;zdot^2),只需开方即可求出发射源的

题目详情
MATLAB求解二次规划问题SeDuMi与quadprog结果不同
小弟想估计发射源的位置以及速度,当下式最小时,phi2为发射源位置以及速度的平方,即(x^2;y^2;z^2;x_dot^2;y_dot^2;z_dot^2),只需开方即可求出发射源的坐标以及速度.
min (h2-G2*phi2)'*W2*(h2-G2*phi2)
subject to:D*phi2>a
其中h2,G2,W2,我已经求出来了,h2是一个8*1的向量,G2为8*6的矩阵,W2是8*8的正定矩阵,phi2是一个6*1的向量,D=[-1,0,0,0,0,0;0,-1,0,0,0,0;0,0,-1,0,0,0],a=[0,0,0]'.这是一个二次规划问题,我用CVX工具箱中的SeDuMi工具箱以及MATLAB自带的quadprog求解上述问题,得到的结果有一些不同,结果如下:
用SeDuMi求解 用quadprog求解
13935.3373803416 13935.1590703587
105316.492112397 105315.467467274
0.102776380748186 0
-6028.99364019712 -6028.94828191892
-7110.13647564898 -7110.12797986381
-12352.1676364780 -12352.1748525614
虽然大部分结果基本相同,但是quadprog求解时第3个元素出现0,而我后面需要求1/phi2(3),这会出现无穷大,请问为什么会出现这个问题,应该如何解决?小弟初学优化,还请多多指教~
▼优质解答
答案和解析
不同的工具箱,结果是不同的,其中有很多取舍.你就用sedumi吧,比matlab自带的好一些
看了MATLAB求解二次规划问题S...的网友还看了以下: