Red de conocimiento informático - Material del sitio web - ¿Cómo utilizar for para expresar el intervalo de tiempo en matlab?

¿Cómo utilizar for para expresar el intervalo de tiempo en matlab?

Centro de control de croma

Borrar todo;

ayuda = 0,03

Tao = 0,618;

n = fix(log(elp) / log(Tao))+1;

k = 1;

a(k)= 0;

b(k)= 1;

p>

r(1)= b(k)-Tao*(b(k)-a(k));

u(1)= a(k)+ Tao *(b (k)-a(k));

Para i=1:N

%f1=(r(k)). ^2-r(k);

f1 = exp(-r(k))+r(k). ^2;

f2 = exp(-u(k))+u(k). ^2;

%f2=(u(k)). ^2-u(k);

si(f 1 & gt; f2)

a(k+1)= r(k);

b(k+1)= b(k);

r(k+1)= u(k);

u(k+1)= a(k+1) )+Tao*(b(k+1)-a(k+1));

x =(b(k+1)+a(k+1))/2;

Otros

a(k+1)= a(k

b(k+1)= u(k); u(k+1)= r(k);

r(k+1)= b(k+1)-Tao*(b(k+1)-a(k+1)) ;

x =(b(k+1)+a(k+1))/2;

Fin

k = k+1;

Fin

x

y=exp(-x)+x.^2;

y

Resultado:

x = 0.3501

y = 0.8272

Verificación:

& gt& gtx 1 = 0:0.001:1;

& gt& gty 1 = exp(-x 1)+x 1. ^2;

& gt& gtvalor mínimo (y1)

ans =

0.8272

& gt& gt