Optimization through iteration - help!

4 visualizaciones (últimos 30 días)
Jan Morawietz
Jan Morawietz el 7 de Mayo de 2015
Comentada: Jan Morawietz el 8 de Mayo de 2015
I'm desperatley trying to optimize vector x such as its sum equals one.I need this for an optimization problem which can only be solved by iteration.. Thx for any adivce
best Jan
x = [0.125,0.125,0.125,0.125];
testf = sum(x);
test1 = 1;
while abs(test1-testf)~=0
test1 = testf;
testf = sum(x*2);
end
  9 comentarios
Geoff Hayes
Geoff Hayes el 8 de Mayo de 2015
Jan - the code never resets the weight array so you will get the same answer on each iteration of the while loop. And multiplying the weights by a number less than one will mean that
sum(weight*0.2) < sum(weight)
always since each element of weight is less than one.
Jan Morawietz
Jan Morawietz el 8 de Mayo de 2015
true - this example is not good... but how do I include weight so that the iteration changes its inputs. Do you know of any similar example?

Iniciar sesión para comentar.

Respuestas (1)

Thorsten
Thorsten el 7 de Mayo de 2015
x = 1/sum(x)*x;
  3 comentarios
Thorsten
Thorsten el 8 de Mayo de 2015
Hi Jan, yes, x is the weight vector. But why do you need an iteration when you can get the solution in one step? Is it homework?
Jan Morawietz
Jan Morawietz el 8 de Mayo de 2015
I need to figure out how I can program an iteration process when the changing variable is a matrix. My examples were simply illustrations of the programming structure...
In my example below, I want to change matrix r so both function outputs x and y are equal.
r = [1,1,1]; % Initial guess
x = 1.5*r; % Condtion 1
y = 2*r; % Condtion 2
while abs(x-y)~=[0,0,0]
r = x
r = y
end

Iniciar sesión para comentar.

Categorías

Más información sobre Third-Party Cluster Configuration en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by