Optimization through iteration - help!

조회 수: 3 (최근 30일)
Jan Morawietz
Jan Morawietz 2015년 5월 7일
댓글: Jan Morawietz 2015년 5월 8일
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
Geoff Hayes
Geoff Hayes 2015년 5월 8일
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 2015년 5월 8일
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?

댓글을 달려면 로그인하십시오.

답변 (1개)

Thorsten
Thorsten 2015년 5월 7일
x = 1/sum(x)*x;
  댓글 수: 3
Thorsten
Thorsten 2015년 5월 8일
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 2015년 5월 8일
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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Third-Party Cluster Configuration에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by