使用Quadprog时四舍五入错误

1ビュー(过去30日)
威勒姆·艾尔斯(Willem aarts)
回答:: 马特·J 2021年10月22日
当使用QuadProg时,我的输出向量由0到1之间的数字组成(我想要的),但是应精确0的数字如下所示。显然,我希望所有这些非常小的数字完全为零,还有办法做到这一点(除了使用圆形)吗?
4.4493394579036E-17
4.43024857154471E-17
1.38794710581954E-16
9.76943947509898E-17
2.57912017416732E-17
1.12856039637895E-16
2.51735116865162E-16
3.04176974448411E-17
9.76031101698955E-17
8.82231674489508E-17
1.93623111616387E-17
4.9295780026237E-17
0.603568110306370
1.50690096511644E-17
1.08658472749935E-16
7.57132250704934E-17
2.66708857540784E-17
3.46149910955351E-17
4.60978724678206E-17
1.08662313490113E-16
3.42358702150843E-17
6.83030304959970E-17
3.19996471309376E-17
2.16907081538632E-17
3.86591323728191E-17
3.79905582515998E-17
0.396431889693630
7.91948069773015E-17
4.45074411271270E-17
1.6295826580797EE-17
3.82178738490695E-17
6.29223776757741E-17
0.396431889693630
1.67754047209576E-17
9.29887909458497E-17
1.97404623930945E-16
3.21006025529018E-17
1.67710094162830E-17
6.66239520645662E-17
5.10705211487009E-17
6.60990290141418E-17
9.5792394354437E-17
1.63832398168987E-17
1.09271312617687E-16
9.86367617174531E-17
1.04778191828700E-17
1.63328769628357E-17
2.38964338862913E-17
3.31525936867943E-17
1.50611423756745E-17
1.63584208473992E-17
4.77231692759105E-18
1.71376002724474E-17
4.31323742881893E-17
0.396431889693627
1.66301917233621E-17
4.82083728961189E-17
0.396431889693630
0.603568110306370
2.10715955520674E-17
3.1364468283538E-17
3.14812533719443E-17
0.603568110306370
3.14554957117173E-17
2.1353177480005E-17
2.12752992135221E-17
2.22721447422380E-17
1.04619418830474E-16
2.06781467381881E-17
4.48010344135470E-17
3.22580040952438E-16
9.27628888218478E-17
2.72418435850740E-17
5.02352395116210E-16
1.76731781201018E-17
1.94510019414797E-17
1.9565458571480E-17
6.44635719788115E-17
0.396431889693627
8.87190649432377E-18
3.32600042326679E-15
1.4384728919083E-17
1.88259667380649E-17
0.603568110306370
9.09055592297213E-18
7.66497777615146E-17
2.09304785104558E-17
0.603568110306373
3.79279708304661E-17
1.59997709593021E-18

回答(1件)

马特·J
马特·J 2021年10月22日
后整圈没有错,但是设置lb(i)= ub(i)= 0的适当变量应迫使它们的确切值为零。
当然,由于您知道变量为零,因此最好的方法是首先不要将它们包含在未知数列表中。可能,当Quadprog看到LB(i)= ub(i)= 0时,这是您的问题,但我不完全确定。

制品


リリース

R2021A

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!

被某某人翻译