You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
984 B
32 lines
984 B
function f = LogSumExp(FunctionCell)
|
|
%MaxFunctions 此处显示有关此函数的摘要
|
|
% 此处显示详细说明
|
|
|
|
fnum = size(FunctionCell,1);
|
|
alpha = 128;
|
|
ff = @(x,y,z) exp(alpha.*FunctionCell{1}(x,y,z));
|
|
for i = 2:fnum
|
|
|
|
ff = @(x,y,z) ff(x,y,z) + exp(alpha.*FunctionCell{i}(x,y,z));
|
|
|
|
end
|
|
|
|
% f0 = @(x,y,z) (1/alpha).* log(ff(x,y,z));
|
|
% f1 = @(x1,y1,z1) f0(x1,y1,z1) + 0.05;
|
|
% f2 = @(x2,y2,z2) -0.05 - 3.* f0(x2,y2,z2);
|
|
% f = @(x,y,z) f1(x,y,z).* f2(x,y,z);
|
|
|
|
f0 = @(x,y,z) (1/alpha).* log(ff(x,y,z));
|
|
f1 = @(x1,y1,z1) f0(x1,y1,z1) + 0.05;
|
|
f2 = @(x2,y2,z2) -0.05 - 3.* f0(x2,y2,z2);
|
|
Ralpha = 1;
|
|
f = @(x,y,z) 1/(1+Ralpha).*(f1(x,y,z) + f2(x,y,z)...
|
|
- power(power(f1(x,y,z),2) + power(f2(x,y,z),2)...
|
|
- 2.* Ralpha.* f1(x,y,z).* f2(x,y,z),1/2));
|
|
|
|
%Nalpha = 0.3;
|
|
%f = @(x,y,z) (1/Nalpha).* log(exp(Nalpha.* f1(x,y,z)) + exp(Nalpha.* f2(x,y,z)));
|
|
%f = @(x,y,z) power(power(f1(x,y,z),-20) + power(f2(x,y,z),-20),-1/20);
|
|
|
|
end
|
|
|
|
|