Borrar filtros
Borrar filtros

Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

This code is working but in every run i am getting different value of x(1),x(2) and x(3)..kindly solve this problem...its very urgent

1 visualización (últimos 30 días)
xdata =[ 10.^(-5) 10.^(-4) 10.^(-3) 10.^(-2) 10.^(-1) 1] ;
ydata=(0.2575./((xdata.^2)+(0.333.*xdata)+1));
parameterized_objective = @(x,xdata) x(1)./((x(2).*(xdata.^(1+0.9))) + x(3).*(xdata.^(0.9))+1);
ObjectiveFunction = @(x) sum((parameterized_objective(x,xdata) - ydata).^2);
X0 = [0; 0; 0 ];
lb = [0.2; 0.2; 0.2];
ub = [1; 1; 1];
x = simulannealbnd(ObjectiveFunction, X0, lb, ub)

Respuestas (1)

the cyclist
the cyclist el 18 de Mayo de 2018
Simulated annealing uses randomness as part of the algorithm. If you set the random seed before this code, for example with the line
rng default
then you should get reproducible results.
  1 comentario
ash
ash el 18 de Mayo de 2018
Editada: Walter Roberson el 18 de Mayo de 2018
rng default is working but if i am changing in parameterized_objective for example xdata.^(1+0.1) and xdata.^(0.1).still i am getting same as 0.9.kindly resolve this problem.
parameterized_objective = @(x,xdata) x(1)./((x(2).*(xdata.^(1+0.9))) + x(3).*(xdata.^(0.9))+1);

La pregunta está cerrada.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by