2015-10-07 37 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 到您的代碼。