% J. C. Spall,December 2000. % This code implements the simple random search algorithm A in ISSO. % This code assumes noise-free loss measurements. % global p n=10000; % no. of loss measurements per run p=3; % problem dimension cases=1; % no. of runs being averaged t=2.02269; % t-value for 2-sided test based on d.o.f.=cases-1 loss='lossDopt'; theta_0=[0,0,0]'; feval(loss,theta_0) D=[-1,1;-1,1;-1,1]; % specifies the lower and upper limits for p % components of theta (2-column matrix) randn('seed',31415927) rand('seed',31415927) meanlossA=0; meanlosssqA=0; for i=1:cases theta=theta_0; lossold=feval(loss,theta); for k=1:n thetanew=D(:,1)+(D(:,2)-D(:,1)).*rand(p,1); lossnew=feval(loss,thetanew); if lossnew < lossold theta=thetanew; lossold=lossnew; else end end meanlossA=(i-1)*meanlossA/i+lossold/i; meanlosssqA=(i-1)*meanlosssqA/i+lossold^2/i; end theta meanlossA if cases > 1 sd_A=(cases^(-.5))*((cases/(cases-1))^.5)*(meanlosssqA-meanlossA^2)^.5 % Confidence intervals [meanlossA-t*sd_A,meanlossA+t*sd_A] else end