MATLAB Answers

how to solve 'Error using | Matrix dimensions must agree. ' ?

Asked by neda eskandari

neda eskandari (view profile)

on 18 Jun 2019
Latest activity Commented on by neda eskandari

neda eskandari (view profile)

on 18 Jun 2019
Accepted Answer by James Tursa

James Tursa (view profile)

Hello Dears
i have the error that i mentioned in question and i do not know how i can solve it.
while (Lia2_One_Three ~= zeros(length(Lia2_One_Three),1) | Lia2_Two_Three ~= zeros(length(Lia2_Two_Three),1))
row_n2_three_step = randperm(length(area_2) / 2, n2_three_step_delayed_measurements) ;
Lia2_One_Three = ismember(row_n2_one_step, row_n2_three_step) ;
Lia2_Two_Three = ismember(row_n2_two_step, row_n2_three_step) ;
end
it seems that this error says that 'Lia2_One_Three ~= zeros(length(Lia2_One_Three)) ' and
' Lia2_Two_Three ~= zeros(length(Lia2_Two_Three))' should have same dimention. i just want to say that while the first condition or second condition is true, produce ' row_n2_three_step' again.
'Lia2_One_Three ' and ' Lia2_Two_Three ' are vectors with different dimentions.

4 Comments

Show 1 older comment
neda eskandari

on 18 Jun 2019
sure
neda eskandari

neda eskandari (view profile)

on 18 Jun 2019
please see 108 to 112 rows
neda eskandari

neda eskandari (view profile)

on 18 Jun 2019
Thank you Dear

Sign in to comment.

1 Answer

James Tursa (view profile)

Answer by James Tursa

James Tursa (view profile)

on 18 Jun 2019
Edited by James Tursa

James Tursa (view profile)

on 18 Jun 2019
Accepted Answer

Maybe this line:
while (Lia2_One_Three ~= zeros(length(Lia2_One_Three),1) | Lia2_Two_Three ~= zeros(length(Lia2_Two_Three),1))
could be this instead?
while ( any(Lia2_One_Three(:)) || any(Lia2_Two_Three(:)) )
I'm guessing a bit on what I think you want the test to do.
Note that the ~= and | operators are element-wise operators, which I am guessing is not what you really want to use here.

neda eskandari

neda eskandari (view profile)

on 18 Jun 2019
should not we write :
while ( any(Lia2_One_Three(:) ~= 0) || any(Lia2_Two_Three(:) ~= 0) )
James Tursa

James Tursa (view profile)

on 18 Jun 2019
The any( ) functions tests for nonzeros, so the ~=0 part in your proposed code is redundant.
neda eskandari

neda eskandari (view profile)

on 18 Jun 2019
thanks a lot

Sign in to comment.