Dimensions of arrays being concatenated are not consistent.

3 次查看(过去 30 天)
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 个评论
Zeynab Mousavikhamene
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 2019-10-4
编辑:Adam Danz 2019-10-4
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.

请先登录,再进行评论。

回答(2 个)

James Tursa
James Tursa 2019-10-2
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 2019-10-2
编辑:Star Strider 2019-10-2
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.

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by