Dimensions of arrays being concatenated are not consistent.

3 views (last 30 days)
I need to concatenate arrays that have variable length. All have 1 row but the number of columns are changing. Any suggestion?
Total_No_cells_r=[Total_No_cells_r;(total_cellcount_r)'];
  3 Comments
Zeynab Mousavikhamene
Zeynab Mousavikhamene on 2 Oct 2019
Since this line is in a loop and it is calling an other script each time which gives error here is what I need to have. I have each column (total_cellcount_r(1), (total_cellcount_r(2), ...) ready and I want to concatenate them to do further calculation.
Capture.JPG
Adam Danz
Adam Danz on 4 Oct 2019
Edited: Adam Danz on 4 Oct 2019
The problem seems to be missing data. If you fill in the missing data the vectors will be the same size and you can concatenate them as you wish.

Sign in to comment.

Answers (2)

James Tursa
James Tursa on 2 Oct 2019
If they are all row vectors, then I would think something like this:
Total_No_cells_r = [Total_No_cells_r, total_cellcount_r];
If not, then you need to tell us what the sizes actually are.

Star Strider
Star Strider on 2 Oct 2019
Edited: Star Strider on 2 Oct 2019
If they all have one row and you want to concatenate them, the only certain way is to use the horzcat function.
If you want to concatenate them vertically, the easiest way would be to use a cell array.
EDIT —
For example, since ‘radius’ appears to be incrementing with a constant interval (and so can be used as an index counter):
Total_No_cells_r{radius} = [radius, total_cellcount_r(1), (total_cellcount_r(2), ...];
That would accommodate any number of columns in each row.

Categories

Find more on Creating and Concatenating Matrices 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!