How can I solve if condition in for loop matrix?
1 回表示 (過去 30 日間)
古いコメントを表示
I want to make an iteration that when the component of a matrix A has less value than the component of matrix B, it will continue the process to the next iteration.
A =
[ 2 5 9 12
6 4 13 1
3 2 19 5]
B=
[ 5
5
5]
in the first column, the condition is not met so it cannot proceed to the second column. and in the second column, conditions have been met so that it can proceed to the third column.
I tried in for loop but, the A values always stuck in first column even condition is right.
Thank you.
3 件のコメント
Guillaume
2019 年 5 月 30 日
then the loop
What loop? Remember that we have no idea what you're doing. If you don't show us your code, how can we tell us how to fix it?
Most likely, whatever loop you're using is not even necessary.
採用された回答
Murugan C
2019 年 5 月 30 日
編集済み: Guillaume
2019 年 5 月 30 日
Hi
use below code for your query.
Here, B will check all rows, each column in A is less than, then it will allow to next iteration.
A = [ 2 5 9 12; 6 4 13 1; 3 2 19 5]
B = [5; 5 ;5];
[row,col] = size(A);
for ii = 1 : col
% fprintf('Current Column is : %d\n', ii);
C1 = A(:,ii) < B;
if all(C1,1)
fprintf('Current Column is : %d, Next Column is : %d\n', ii, ii+1);
continue;
else
fprintf('Stopped at %d Column because unsatisfied B input \n', ii);
break;
end
end
3 件のコメント
Murugan C
2019 年 5 月 30 日
Thanks Guillaume.
I knew, continue will not take any action in 'for' loop. Any how I will try avoid it..
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!