Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

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 vue (au cours des 30 derniers jours)
ash
ash le 18 Mai 2018
Clôturé : MATLAB Answer Bot le 20 Août 2021
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)

Réponses (1)

the cyclist
the cyclist le 18 Mai 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 commentaire
ash
ash le 18 Mai 2018
Modifié(e) : Walter Roberson le 18 Mai 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);

Cette question est clôturée.

Community Treasure Hunt

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

Start Hunting!

Translated by