我想用文本文件的加载数据制作一个矩阵向量。
我正在使用cat
.
n : number of matrices.
p : number of columns of matrices.
每个矩阵有 4 行。例如,我在一个文本文件中有 1200 个数字并且p
是 3,所以n=100
. 怎么可能做到?!
这就是我试图做的:
X = cat(n,[1...p; ; ; ],...,[ ; ; ; ]);
描述有点模糊,但这是我的建议:
reshape
命令在您的情况下,您可能希望对第 3 步执行类似的操作:
raw = rand(1200,1); %Assuming your data looks something like this
X = reshape(raw,[],4,3);
对于 1200 个值,这将为您提供 100x4x3 的答案。如果您像这样应用 reshape,请确保它是 4x3 的一个很好的倍数。
更新
显然这是提问者正在寻找的变体,一个 4x3x100 矩阵:
X =reshape(r,4,3,100)
如果你知道矩阵的数量(n),你可以将它存储到一个像这样的单元格数组中
myCellArray = cell(n,1);
for it = 1:n
myCellArray{it} = (...) %Load matrix whatever how you do it (Load, fread,...)
end
或者只是使用动态分配,但效率不高,
myArray = [];
myArray = [myArray newLoadArray];