資源簡介
解等式約束的信賴域子問題,經典方法,文件很小
代碼片段和文件信息
%??clear;clc;
%??B=[510;130;00-1]
%??g=[111]‘???%min?x‘Bx+2g‘x
%??delta=?0.6???%s.t.?norm(s)^2=delta^2
?function[aabb]=testrs(Bgdelta)
epsi=10^(-10);
[mn]=size(B);
s=zeros(m1);
I=diag(eye(m));
k=0;
[UDB]=eig(B);%將B對角化,那g也應該相應對角化吧?
Dg=U‘*g;
%變成向量
DDB=diag(DB);
lambda=-DDB(1);
%主要求解(B+lambda*I)*s=-g
DLag=DDB+lambda*I;
if?abs(DLag(1))epsi
????k=1;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%無解
else
???for?i=1:m
???????if?abs(DLag(i)) ????????????s(i)=0;
????????????c=i;
????????else?
????????????break
????????end
????end
????for?i=c+1:m
????????s(i)=-Dg(i)./DLag(i);
????end
?
????n
- 上一篇:BP算法ISAR成像基于FEKO仿真模型
- 下一篇:地震波數值模擬matlab版本
評論
共有 條評論