while-loop condition - arrays equal within a tolerance

12 ビュー (過去 30 日間)
Marko 2019 年 11 月 27 日
コメント済み: Marko 2019 年 11 月 27 日
Hi guys!
I simplified the problem according to my issue. I basicly want to iterate arrays within a while function. But as soon as one element of the array is true, the while loop is not executed anymore. I want that the while looping is iterating until all elements of the arrays are euqal within a tolerance.
A = [5,2,1,0,0];
B = [4,1,0,0,0];
for i = 1:5
i = i+1
while not(A-B < 0.1*ones(5,1)) & ...
disp('Increase B')
B = B + 0.01;


Nicolas B.
Nicolas B. 2019 年 11 月 27 日
for you case, I understand that you want the maximum absolute difference being below a limit?
In that case, the "stay in" condition is:
while max(abs(A-B), [], 'all') > you_limit
the option on the max function is to ensure that you return 1 maximum whatever size have A and B.
  1 件のコメント
Marko 2019 年 11 月 27 日
This is it! Thank you!


その他の回答 (0 件)


Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by