📄 osb2.m
字号:
function [fvec,J] = osb2(n,m,x,opt)% **************************************************************% **************************************************************%% Function [fvec,J] = osb2(n,m,x,opt)% Osborne 2 function [19]% Dimensions: n=11, m=65% Standard starting point: (1.3,0.65,0.7,0.6,3,5,7,2,4.5,5.5)% Minima of f=4.01377...10^(-2) % at (1.31,.4315,.6336,.5993,.7539,.9056,1.3651,4.8248,2.3988,% 4.5689,5.6754)%% Revised 11/94 Plk% ************************************************************** global FIRSTIME y; if (FIRSTIME) y = [1.366 1.191 1.112 1.013 .991 .885 .831 .847 .786 .725 .746 .679 .608 .655 .616 .606 .602 .626 .651 .724 .649 .649 .694 .644 .624 .661 .612 .558 .533 .495 .500 .423 .395 .375 .372 .391 .396 .405 .428 .429 .523 .562 .607 .653 .672 .708 .633 .668 .645 .632 .591 .559 .597 .625 .739 .710 .729 .720 .636 .581 .428 .292 .162 .098 .054 ]'; FIRSTIME=0; end; for i = 1:m t(i) = (i-1)/10; t09= t(i)-x(9); t10= t(i)-x(10); t11= t(i)-x(11); s09= t09^2; s10= t10^2; s11= t11^2; e1= exp(-t(i)*x(5)); e2= exp(-s09*x(6)); e3= exp(-s10*x(7)); e4=exp(-s11*x(8)); if((opt==1) | (opt==3)) fvec(i) = (x(1)*e1 + x(2)*e2 + x(3)*e3 + x(4)*e4)-y(i); end; if((opt==2) | (opt==3)) r2=x(2)*e2; r3=x(3)*e3; r4=x(4)*e4; J(i,1)=e1; J(i,2)=e2; J(i,3)=e3; J(i,4)=e4; J(i,5)=-t(i)*x(1)*e1; J(i,6)= -s09*r2; J(i,7)= -s10*r3; J(i,8)= -s11*r4; J(i,9)= 2*t09*x(6)*r2; J(i,10)=2*t10*x(7)*r3; J(i,11)=2*t11*x(8)*r4; end;end;fvec=fvec';if((opt<1) | (opt>3)) disp('Error: Option value sent to OSB2.M is either <1 or >3');end;%x0 = [1.3,.65,.65,.7,.6,3,5,7,2,4.5,5.5]' ;%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -