¿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