?? example4_10.m
字號:
%第一步:決定那個變量作為第一參數傳遞給函數quadprog。
%A或B作為第一自變量傳給quadprog。此例中,我們選B作為第一自變量。于是A
%作為附加參數傳給它。
quadprog(B,f,[],[],[],[],l,u,xstart,options,A)
%第二步:寫一個計算海色矩陣乘積的函數。
%現在,定義一個使用A和B計算海色乘積的函數qpbox4mult。
W = qpbox4mult(Hinfo,Y,p1,p2...)
%qpbox4mult必須接受傳給函數quadprog相同的第一自變量,即qpbox4mult
%需選B作為第一自變量。
%第二個自變量為矩陣Y,因為函數f quadprog使用參數Y去計算海色矩陣的乘積,
%Y是一個n行矩陣,n即為此問題的維數。Y的列數是可變的。最后,任何附加的
%參數都會傳遞給函數qpbox4mult,于是qpbox4mult接受了相同的附加參數例
%如矩陣A。
function W = qpbox4mult(B,Y,A);
W = B*Y + A*(A'*Y);
%第三步:使用二次規劃函數quadprog解此問題。
%從文件qpbox4.mat中裝入參數。使用optimset設置HessMult為函數
%qpbox4mult的局柄。B作為第一參數,而A作為附加參數。
load qpbox4 % Get xstart, u, l, B, A, f
mtxmpy = @qpbox4mult; % Function handle to function qpbox4mult
options = optimset('HessMult',mtxmpy);
[x,fval,exitflag,output] = quadprog(B,f,[],[],[],[],l,u, xstart,options,A);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -