eld.m
来自「Particle Swarm Algorithm」· M 代码 · 共 30 行
M
30 行
function [P Fcost Pl]=eld(data,B,Pd)
if nargin ~= 3
error('Wrong number of input arguments')
end
ss=size(data);
if ss(2)~=5
P='data is wrong the matrix should have six columns';
Fcost='verify your data';
Pl='verify your data';
else
end
warning off
n=length(data(:,1));
Aeq=ones(1,n);
a=data(:,1);
b=data(:,2);
c=data(:,3);
l=data(:,4);
u=data(:,5);
P=l;
for i=1:10
Pl=P'*B*P;
Pd1=Pd+Pl;
ll=diag(1-2*B*P);
A1=inv(ll)*a;
B1=inv(ll)*b;
H=2*diag(A1);
P=quadprog(H,B1,[],[],Aeq,Pd1,l,u);
end
Fcost=sum(a.*P.*P+b.*P+c);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?