📄 gulf.m
字号:
function [fvec,J] = gulf(n,m,x,opt)% ***************************************************% ***************************************************% function [fvec, J]= gulf(n,m,x,opt)% Gulf research and development function [11]% Dimensions n=3, n=<m=<100% Function definition:% f(x)= exp[-(| y(i)mi x(2)|^x(3) / x(1))- t(i)% where t(i) = i/100% and y(i)=25 +(-50 ln(t(i))^2/3)% Standard starting point x=(5,2.5,0.15)% minima of f=0 at (50,25,1.5)%% Revised 10/23/94 PLK% *************************************************** zero = 0.d0; one = 1.d0; point1 = .01d0; twnty5 = 25.d0; fifty = 50.d0; x1 = x(1); x2 = x(2); x3 = x(3); if (x1 == zero) disp(' +++ singularity in gulf function evaluation') end x1inv = one / x1; two3rd = 2.d0 / 3.d0; for i = 1: m ti = (i)*point1; yi = twnty5 + (-fifty*log(ti)) ^ two3rd; ai = yi - x2; if((opt==1)|(opt==3)) fvec(i) = exp(-((abs(ai)^x3)/x1)) - ti; end; if((opt==2)|(opt==3)) av = abs(ai); bi = av ^ x3; ci = bi*x1inv; ei = exp(-ci); d1 = ci * x1inv; d2 = x3 * x1inv * av^(x3 - one); d3 = - log(av) * ci; J(i,1) = d1 * ei; if (ai >= zero) J(i,2) = d2 * ei; else J(i,2) = -d2 * ei; end J(i,3) = d3 * ei; end end; fvec = fvec';if((opt<1)|(opt>3)) disp('ERRROR: option value sent to GULF.M is either <1 or >3');end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -