Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Plain Text by xyz ( 13 years ago )
function [zw, qw] = zlpod(hkoszt, x0, d, przedz, epsilon, maxit)
q = @(z) hkoszt(x0, z, d);
tau = (-1 + sqrt(5)) / 2;
zw = zeros(1, 3);
qw = zeros(1, 3);
j = 1;
while true
z1 = tau * przedz(1) + (1 - tau) * przedz(3);
q1 = q(z1);
z2 = przedz(1) + przedz(3) - z1;
q2 = q(z2);
j = j + 1;
if q1 > q2
przedz(1) = z1;
z1 = z2;
q1 = q2;
else
przedz(3) = z2;
end
if przedz(3) - przedz(1) < epsilon * abs(z1) || j == maxit
zw(1) = przedz(1);
qw(1) = q(przedz(1));
zw(2) = z1;
qw(2) = q1;
zw(3) = przedz(3);
qw(3) = q(przedz(3));
break;
end
end
end
Revise this Paste