MATLAB Answers

0

How can I solve if condition in for loop matrix?

Asked by Dina Maulina on 30 May 2019
Latest activity Commented on by Dina Maulina on 28 Jun 2019
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 Comments

What is your desired result? Show it explicitly.
What I want is when the all of the A component value <= B, then the loop will continue to the next column.
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.

Sign in to comment.

2 Answers

Answer by Murugan C on 30 May 2019
Edited by Guillaume
on 30 May 2019
 Accepted Answer

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 Comments

Please use the toolbar to format your answer properly. I've done it for you this time.
Note that your continue does nothing useful since the loop will continue on its own anyway. It would be better if it weren't there (otherwise a reader may wonder if that pointless continue is an indication of a bug).
Thanks Guillaume.
I knew, continue will not take any action in 'for' loop. Any how I will try avoid it..
Thank you so much for your help.

Sign in to comment.


Answer by KSSV
on 30 May 2019

all(A<B,2)

  0 Comments

Sign in to comment.