Dimensions of arrays being concatenated are not consistent.

10 visualizzazioni (ultimi 30 giorni)
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 Commenti
Zeynab Mousavikhamene
Zeynab Mousavikhamene il 2 Ott 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 il 4 Ott 2019
Modificato: Adam Danz il 4 Ott 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.

Accedi per commentare.

Risposte (2)

James Tursa
James Tursa il 2 Ott 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 il 2 Ott 2019
Modificato: Star Strider il 2 Ott 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.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by