create a while loop: while all values in a matrix are positive(code)

3 次查看(过去 30 天)
I'm trying to make sure all values in a matrix (the inventory of a shop) are positive and to figure out all possible combinations of three products to maximize profit.
When i run the code below, it always runs infinitely. what's wrong with my loop? i'm running r2014a
maxprof=0 inv=[450;250;800;450;600] tel=[1;1;2;1;2] ster=[1;0;2;1;2] spea=[0;0;1;0;1] while (sum(inv>0))==5 for t=1:100 for s=1:100 for sp=1:100 prof=t*tel*80+s*ster*50+sp*spea*40 inv=[inv-tel*t-ster*s-spea*sp] if prof>maxprof maxprof=prof end end end end end

回答(1 个)

Manolis Michailidis
Manolis Michailidis 2015-10-12
You can use the absolute value abs function , or if there are some non positive, by mistake, you can say
a(a>0);
where a is your matrix , hope this helps.

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by