How to check whether a condition is being met and move on to next if it dosent

2 次查看(过去 30 天)
b=1.1; a=[1;5;6] c=a.*b; c=mean(c)
now I want to check if c lies between 6 and 7, if not i want to try b=1.2 and b=1.0 and b=1.3 and b=0.8 and so on decreasing and increasing

采纳的回答

Viren Gupta
Viren Gupta 2018-10-23
Since c is equal to the mean of b*1,b*5 and b*6, hence c = b*(1+5+6)/3 = 4*b. Therefore 6<4*b<7 implies b lies between 1.5 and 1.75 to satisfy your condition. One approach is to no longer decrease b as that won't give you the result. Start with b=1.1, use a do while loop with terminating condition as 6<c<7. in the body of the loop, compute c as you mentioned in the question.

更多回答(0 个)

类别

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