📄 meyer.m
字号:
function [fvec,J] = meyer(n,m,x,opt)% ************************************************% ************************************************ % function [fvec,J]= meyer(n,m,x,opt)% Meyer function [10]% Dimensions n=3 m=16% Function definition:% f(x) = x(1)*exp[x(2)/(t(i) + x(3))]-y(i)% where t(i)= 45 + 5i% Standard starting point at x=(0.02,4000,250)% Minima of f=87.9458...%% Revised 10/23/94 PLK% ************************************************ zero = 0.d0; one = 1.d0; y = [ 34780.d0 28610.d0 23650.d0 19630.d0 16370.d0 13720.d0 11540.d0 9744.d0 8261.d0 7030.d0 6005.d0 5147.d0 4427.d0 3820.d0 3307.d0 2872.d0 ]' ; x1 = x(1); x2 = x(2); x3 = x(3); if opt==1 for i = 1: m ti = (45+5*i); di = ti + x3; ei = exp(x2/di); fvec(i) = (x1 * ei) - y(i); end fvec=fvec'; elseif opt==2 for i = 1: m ti = (45+5*i); di = ti + x3; qi = one / di; ei = exp(x2*qi); si = x1*qi*ei; J(i,1) = ei; J(i,2) = si; J(i,3) = -x2*qi*si; end elseif opt==3 for i = 1: m ti = (45+5*i); di = ti + x3; qi = one / di; ei = exp(x2*qi); si = x1*qi*ei; fvec(i) = (x1*ei) - y(i); J(i,1) = ei; J(i,2) = si; J(i,3) = -x2*qi*si; end fvec=fvec'; else disp('Error: Option value sent to MEYER.M is either <1 or >3'); end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -