Stacking multiple arrays into a matrix

27 ビュー (過去 30 日間)
HEMRAJ PATEL
HEMRAJ PATEL 2021 年 11 月 13 日
コメント済み: HEMRAJ PATEL 2021 年 11 月 13 日
How can i form a matrix out of n number of different column matrices of same size by placing them side by side.

採用された回答

Dave B
Dave B 2021 年 11 月 13 日
編集済み: Dave B 2021 年 11 月 13 日
You can make append two columns like this:
a=rand(10,1);
b=rand(10,1);
c=[a b];
size(c)
ans = 1×2
10 2
or like this:
c=cat(2,a,b);
size(c)
ans = 1×2
10 2
Both approaches extend to n columns:
a=rand(10,1);
b=rand(10,1);
c=rand(10,1);
d=rand(10,1);
M1=[a b c d];
size(M1)
ans = 1×2
10 4
M2=cat(2,a,b,c,d);
size(M2)
ans = 1×2
10 4
Alternatively, you could initialize a matrix and then fill it with the columns:
M3=nan(numel(a),4); % you don't really need to initialize, but it is wise
M3(:,1) = a;
M3(:,2) = b;
M3(:,3) = c;
M3(:,4) = d;
size(M3)
ans = 1×2
10 4
  6 件のコメント
Stephen23
Stephen23 2021 年 11 月 13 日
"if i have 2000 matrices like (c1,c2,c3,...,c2000) and i want them in cat function. How will i do it."
I have some ideas of how you might do it, but no experienced MATLAB users would do that.
"Do i have to write c=cat(2,c1,c2,c3....) or do we have another option"
Another option is better data design: don't have numbered variable names.
Numbered variable names is a sign that you are doing something wrong. Use indexing instead.
HEMRAJ PATEL
HEMRAJ PATEL 2021 年 11 月 13 日
Thanks for your valuable replies. I have solved my problem, i might have framed my question wrong.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by