📄 watson.m
字号:
function [fvec,J] = watson(n,m,x,opt)% **************************************************% Function [fvec,J]= watson(n,m,x,opt)% Watson function [20]% Dimensions : n=20, m=31% Standard starting point : (0,....,0)% Minima of f=2.28767...10^(-3) if n=6% f=1.39976...10^(-6) if n=9% f=4.72238...10^(-10) if n=12% f=2.48631...10^(-20) if n=20%% Revised 11/94 PLK% **************************************************for i = 1:29 t(i) = i / 29; sum1 = 0; for j = 2:n sum1 = sum1 + (j-1) *(x(j) * (t(i)^(j-2))); end; sum2 = 0; for j = 1:n sum2 = sum2 + x(j) * (t(i)^(j-1)); end; if((opt==1) | ( opt==3)) fvec(i) = sum1-(sum2^2)-1; end; if ((opt==2)|(opt==3)) J(i,1) = -(2*sum2); for j = 2:n J(i,j) = (j-1)*((t(i))^(j-2))-2*sum2*(t(i))^(j-1); end; end;end;if((opt==1)|(opt==3)) fvec(30) = x(1); fvec(31) = x(2)-((x(1))^2)-1;end;if((opt==2)|(opt==3))J(30,1) = 1;for r = 2:n J(30,r) = 0;end;J(31,1) = -2*x(1);J(31,2) = 1;for r = 3:n J(31,r) = 0;end;end;%if statement fvec=fvec';if((opt<1)|(opt>3)) disp('Error: Option value sent to WATSON.M is either <1 or >3');end;%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -