📄 init.asv
字号:
% init
% -----
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function [nprob,n,m,x0]=initf(nprob)
% This function sets n,m, and the standard starting
% point based on the nprob and returns it to initpt
% function.
%
% Created on 10/30/94 by Madhu Lamba
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [nprob,n,m,x0] = init(NO)
global FIRSTIME;
% ROSE
if NO==1
nprob=1
n=2;
m=2;
x0=[-1.2,1]';
% FROTH
elseif NO==2
nprob=2
n=2;
m=2;
x0=[0.5,-2]';
% BADSCP
elseif NO==3
nprob=3
n=2;
m=2;
x0=[0,1]';
% BADSCB
elseif NO==4
nprob=4
n=2;
m=3;
x0=[1,1]';
% BEALE
elseif NO==5
nprob=5
n=2;
m=3;
x0=[1,1]';
% JENSAM
elseif NO==6
nprob=6
n=2;
m=2;
x0=[0.3,0.4]';
% HELIX
elseif NO==7
nprob=7
n=3;
m=3;
x0=[-1,0,0]';
% BARD
elseif NO==8
nprob=8
n=3;
m=15;
x0=[1,1,1]';
% GAUSS
elseif NO==9;
nprob=9
n=3;
m=15;
x0=[0.4,1,0]';
% MEYER
elseif nprob == 10
n=3;
m=16;
x0=[0.02,4000,250]';
% GULF
elseif NO==11
nprob=11
n=3;
m=10;
x0=[5,2.5,0.15]';
% BOX
elseif NO==12
nprob=12
n=3;
m=10;
x0=[0,10,20]';
% SING
elseif NO==13
nprob=13
n=4;
m=4;
x0=[3,-1,0,1]';
% WOOD
elseif NO==14
nprob= 14
n=4;
m=6;
x0=[-3,-1,-3,-1]';
% KOWOSB
elseif NO==15
nprob= 15
n=4;
m=11;
x0=[0.25,0.39,0.415,0.39]';
% BD
elseif NO==16
nprob= 16
n=4;
m=20;
x0=[25,5,-5,-1]';
% OSB1
elseif NO==17
nprob= 17
n=5;
m=33;
FIRSTIME=1;
x0=[0.5,1.5,-1,0.01,0.02]';
% BIGGS
elseif NO==18
nprob= 18
n=6;
m=13;
x0=[1,2,1,1,1,1]';
% OSB2
elseif NO==19
nprob= 19
n=11;
m=65;
FIRSTIME=1;
x0=[1.3,0.65,0.65,0.7,0.6,3,5,7,2,4.5,5.5]';
% WATSON
elseif NO==20
nprob= 20
n=20;
m=31;
x0=zeros(n,1);
% ROSEX
elseif NO==21
nprob=21
n=8;
m=n;
for j=1:n/2
x0(2*j-1)=-1.2;
x0(2*j)=1;
end;
x0=x0';
% ROSEX
elseif NO==22
nprob=21
n=50;
m=n;
for j=1:n/2
x0(2*j-1)=-1.2;
x0(2*j)=1;
end;
x0=x0';
elseif NO==23
nprob=21
n=100;
m=n;
for j=1:n/2
x0(2*j-1)=-1.2;
x0(2*j)=1;
end;
x0=x0';
% SINGX
elseif NO==24
nprob=22
n=4;
m=n;
for j=1:n/4
x0(4*j-3)=3;
x0(4*j-2)=-1;
x0(4*j-1)=0;
x0(4*j)=1;
end;
x0=x0';
% PEN1
elseif NO==25
nprob=23
n=2;
m=n;
for j=1:n
x0(j)=j;
end;
x0=x0';
% PEN2
elseif NO==26
nprob=24
n=4;
m=2*n;
x0=(1/2)*(ones(n,1));
% PEN2
elseif NO==27
nprob=24
n=50;
m=2*n;
x0=(1/2)*(ones(n,1));
% VARDIM
elseif NO==28
nprob=25
n=2;
m=n+2;
for j=1:n
x0(j)=1-(j/n);
end;
x0=x0';
% VARDIM
elseif NO==29
nprob=25
n=50;
m=n+2;
for j=1:n
x0(j)=1-(j/n);
end;
x0=x0';
% TRIG
elseif NO==30
nprob=26
n=3;
m=n;
x0=(1/n)*(ones(n,1));
% TRIG
elseif NO==31
nprob=26
n=50;
m=n;
x0=(1/n)*(ones(n,1));
% TRIG
elseif NO==32
nprob=26
n=100;
m=n;
x0=(1/n)*(ones(n,1));
% ALMOST
%elseif nprob==27
% n=input('Enter a number for n ?')
% m=n;
% x0=(1/2)*(ones(n,1));
% BV
elseif NO==33
nprob=28
n=3;
m=n;
h=1/(n+1);
for j=1:n
t(j)=j*h;
x0(j)=t(j)*(t(j)-1);
end;
x0=x0';
% BV
elseif NO==34
nprob=28
n=10;
m=n;
h=1/(n+1);
for j=1:n
t(j)=j*h;
x0(j)=t(j)*(t(j)-1);
end;
x0=x0';
% IE
elseif NO==35
nprob=29
n=3;
m=n;
h=1/(n+1);
for j=1:n
t(j)=j*h;
x0(j)=t(j)*(t(j)-1);
end;
x0=x0';
% IE
elseif NO==36
nprob=29
n=50;
m=n;
h=1/(n+1);
for j=1:n
t(j)=j*h;
x0(j)=t(j)*(t(j)-1);
end;
x0=x0';
% IE
elseif NO==37
nprob=29
n=100;
m=n;
h=1/(n+1);
for j=1:n
t(j)=j*h;
x0(j)=t(j)*(t(j)-1);
end;
x0=x0';
% IE
elseif NO==38
nprob=29
n=200;
m=n;
h=1/(n+1);
for j=1:n
t(j)=j*h;
x0(j)=t(j)*(t(j)-1);
end;
x0=x0';
% IE
elseif NO==39
nprob=29
n=500;
m=n;
h=1/(n+1);
for j=1:n
t(j)=j*h;
x0(j)=t(j)*(t(j)-1);
end;
x0=x0';
% TRID
elseif NO==40
nprob=30
n=3;
m=n;
x0=(-1)*(ones(n,1));
% TRID
elseif NO==41
nprob=30
n=50;
m=n;
x0=(-1)*(ones(n,1));
% TRID
elseif NO==42
nprob=30
n=100;
m=n;
x0=(-1)*(ones(n,1));
% TRID
elseif NO==43
nprob=30
n=200;
m=n;
x0=(-1)*(ones(n,1));
% BAND
elseif NO==44
nprob=31
n=3;
m=n;
x0=(-1)*(ones(n,1));
% BAND
elseif NO==45
nprob=31
n=50;
m=n;
x0=(-1)*(ones(n,1));
% BAND
elseif NO==46
nprob=31
n=100;
m=n;
x0=(-1)*(ones(n,1));
% BAND
elseif NO==47
nprob=31
n=200;
m=n;
x0=(-1)*(ones(n,1));
% LIN
elseif NO==48
nprob= 32
n=2;
m=3;
x0=ones(n,1);
% LIN
elseif NO==49
nprob=32
n=50;
m=100;
x0=ones(n,1);
% LIN
elseif NO==49
nprob= 32
n=500;
m=1000;
x0=ones(n,1);
% LIN
elseif NO==50
nprob= 32
n=1000;
m=1001;
x0=ones(n,1);
% LIN1
elseif NO==51
nprob=33
n=2;
m=3;
x0=ones(n,1);
% LIN1
elseif NO==52
nprob=33
n=10;
m=11;
x0=ones(n,1);
% LIN0
elseif NO==53
nprob=34
n=4;
m=5;
x0=ones(n,1);
end
%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -