Solution for getting only one variable equal to 1 while other two variables 0.

I would like to give input variables as follows: For optimization purpose only one variable is to be given value equal to 1 while other two variables must be given 0. For example, if x(1)=1 then x(2) and x(3) must be equal to 0. Similarly, if x(2)=1, then x(1)=x(3)=0. No two variables should be equal to 1 at a time. Can anybody suggest me 'for loop' or 'if-else loop' for this problem. Thanks in anticipation.
function y=myfitness(x)
y= x(1)+x(2)+x(3);
end

 採用された回答

James Tursa
James Tursa 2018 年 4 月 13 日
編集済み: James Tursa 2018 年 4 月 13 日
E.g., if I understand your request:
n = 3; % number of elements to use
for k=1:n
x = zeros(1,n);
x(k) = 1;
% You put code here to use x
end

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by