set a if loop within a for loop

hi
I want to set an if loop within for loops
My idea is if the constraint satified then stop the for (j) loop and profit (i,j) does not exist; otherwise continue the loop and find the solution
but my code doesnt work well: it cannot stop the for loop when the if loop is satisfied
for i=1:numel(k)
for j=1:numel(lambda)
if lambda(j)/(mu*k(i)) >= 1
return
else
n = (0:(k(i)-1));
W = 1/(sum((a).^n./factorial(n))+a^k(i)/(factorial(k(i))*(1-a/k(i))));
profit(i,j) = lambda(j)*(p-w);
end
end
end

 採用された回答

KSSV
KSSV 2017 年 5 月 9 日

0 投票

Replace return with break.

5 件のコメント

Luna
Luna 2017 年 5 月 9 日
yes thanks using break makes the corresponding profit(i,j) equal to zero but I want to set the value does not exist do you have any method??
Thanks a lot!!
KSSV
KSSV 2017 年 5 月 9 日
but I want to set the value does not exist not clear..what value you want to set?
Luna
Luna 2017 年 5 月 9 日
I mean no value... I want to set if the constraint is satisfied the corrreponding point does not exist
KSSV
KSSV 2017 年 5 月 9 日
You can initialize profit to a NaN matrix. Where ever it is not calculated you will get NaN.
profit = NaN(numel(k),numel(lambda)) ;
Luna
Luna 2017 年 5 月 9 日
it works. thanks!!!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

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

質問済み:

2017 年 5 月 9 日

コメント済み:

2017 年 5 月 9 日

Community Treasure Hunt

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

Start Hunting!

Translated by