Concatenate two cell colums with different length, in Variables window it is possible while horzcat gives "not consistent" error.
3 次查看(过去 30 天)
显示 更早的评论
I have two celll columns.
a={'11';'21';'31'};
b={'12';'22'};
if I issue the
c=[a,b];
command it gives the error
Error using horzcat
Dimensions of arrays being concatenated are not consistent.
However, if I do a
c=a;
and then I go to the Variables window and open 'c' and 'b' variables and copy the first (and only) column of 'b', I can paste the content ANYWHERE in the 'c' correctly. All the other (not involved) cell values become empty. How to reproduce it programmatically???
0 个评论
采纳的回答
madhan ravi
2020-7-9
ab = {a, b};
[Val, which_one] = max([numel(a),numel(b)]);
c = cell(Val, 2);
c(:, 1) = a;
c(1 : numel(b), 2) = b
% or perhaps you want
c = cell(5);
c(1:numel(a), 1) = a;
c(end - numel(b) + 1 : end, end) = b
0 个评论
更多回答(1 个)
madhan ravi
2020-7-2
c = {a, b} %? if this doesn't do what you want , you need to illustrate with an expected result.
3 个评论
madhan ravi
2020-7-2
编辑:madhan ravi
2020-7-2
ab = {a, b};
[Val, which_one] = max([numel(a),numel(b)]);
c = cell(Val, 2);
c(:, 1) = a;
c(1 : numel(b), 2) = b
% or perhaps you want
c = cell(5);
c(1:numel(a), 1) = a;
c(end - numel(b) + 1 : end, end) = b
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Identification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!