2015-10-07 32 views
1

我试图解决R.二次问题,我有这样的数据:如何在R中进行二次编程?

x1   x2  y 
0.3858 0.4687  1 
0.4871 0.6110  -1 
0.9218 0.4103  -1 
0.7382 0.8936  -1 
0.1763 0.0579  1 
0.4057 0.3529  1 
0.9355 0.8132  -1 
0.2146 0.0099  1 

,我需要弄清楚λ1〜λ8。我尝试使用来自包quadprog的例程:solve.QP(Dmat, dvec, Amat, bvec, meq=0, factorized=FALSE)。我很困惑在我的情况下输入什么dvec,bvec,Dmat。我尝试以下,但它没有给出正确的结果:

Dmat <- matrix(0,8,8) 
Amat<- matrix(c(0.3858,0.4871,0.9218,0.7382,0.1763,0.4057,0.9355,0.2146,0.4687,0.611,0.4103,0.8936,0.0579,0.3529,0.8132,0.0099),8,2) 
dvec<-c(1,-1,-1,-1,1,1,-1,1) 
solve.QP(Dmat,dvec,Amat) 

结果应该是λ1= 65.5261,λ2= 65.5261,λ3〜λ8= 0。任何帮助将不胜感激。

+2

你试图解决的二次方案的表达式是什么? – josliber

回答

0

add diag(Dmat)< - 1 到您的代码。