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

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