zsuphoenix 发表于 2014-8-12 11:57 
你把数据都乘以1e6再跑下看看呗,反正优化结果不存在绝对值上的差别,那就没错,想你的这种量级差别在绝对 ...
没太明白“数据都乘以1e6”,是不是X矩阵和lx都乘以1e6运行下两种算法看结果是否一致??
另外,我用matlab2011算的两种算法得到结果和你的结果(的'interior-point'算的)是一样的,看来是版本精度问题了。
原程序用matlab2008的'interior-point'算的
xd =
-8.071125089139362e-013 -4.438188823382536e-012 4.065758146820642e-020
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
fval =
2.034895063404301e-023
原程序用matlab2008的'active-set算的(
很怪之前算的fval=3.644862515945357e-015,今天再算就变成下面结果了,真搞不懂???):
xd =
-8.738134142284361e-006 -8.738137766268732e-006 8.738133336748286e-006
-9.765560635666406e-012 -1.002229448544859e-011 -9.765560816353253e-012
-9.765450515811102e-012 -9.950359516053950e-012 -9.765450406435402e-012
-9.765374576441257e-012 -9.883963465263920e-012 -9.765374529051413e-012
-9.765323967389013e-012 -9.849068199258565e-012 -9.765323949096813e-012
-9.765284953522390e-012 -9.837535470343637e-012 -9.765284949255188e-012
-9.765256600413764e-012 -9.806454397152846e-012 -9.765256587740984e-012
-9.765239038868240e-012 -9.794306354539799e-012 -9.765239020084320e-012
-9.765223531989526e-012 -9.798099484941966e-012 -9.765223535822268e-012
-9.765214271360418e-012 -9.769399372626643e-012 -9.765214269602272e-012
-9.765220139107683e-012 -9.737556018864146e-012 -9.765220139289196e-012
-9.765243019748218e-012 -9.701363441012222e-012 -9.765243025147864e-012
-9.765285061926630e-012 -9.660880992841788e-012 -9.765285097244276e-012
-9.765352492534199e-012 -9.600211727715299e-012 -9.765352479907938e-012
-9.765446783687065e-012 -9.553405952365999e-012 -9.765446778849815e-012
-9.765562389388268e-012 -9.515139099991147e-012 -9.765562394098400e-012
fval =
2.290650141259307e-010