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

3 ビュー (過去 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 Center および File ExchangeMATLAB Compiler についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by