Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 1-by-2

1 view (last 30 days)
Xindex = zeros(217,2);
Xval = zeros(201,1,217);
for index = 1:217
Xval(:,1,index) = A(:,3,index);
for rowidx = 1:201
if(Xval(rowidx,1,index)>7.227 && Xval(rowidx,1,index)<7.2510)
r = 1;
c = 1;
Xindex(r, c) = [index rowidx];
r = r + 1;
c = c + 1;
The underlined code is causing the error. I am not sure what is wrong as Xindex has 217 rows and 2 columns, I am trying to fit two values alongside each other in the same row. Why is a size mismatch occuring?
Please help, thanks in advance!

Accepted Answer

James Tursa
James Tursa on 3 Nov 2021
Edited: James Tursa on 3 Nov 2021
Does this do what you want:
Xindex(r, :) = [index rowidx];
You can get rid of c altogether since it isn't needed. And you need to move the r = 1 line to up above the start of the for loops.

More Answers (0)


Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!