从文本文件创建矩阵

时间:2018-04-06 15:08:08

标签: matlab

我有一个包含4列实数的txt文件,如下所示

1 0 2 5
0 1 -6 2.5
-1 2 7 9
3 5 9 -2

ECC

每列需要是200x200矩阵。我应该阅读第一列的每个单独元素并将其放入矩阵200x200矩阵。因为它是文件,所以第二行中的元素(在示例中为0)成为矩阵的(1,2)元素或(2,1)是无关紧要的,因为该矩阵应该是对称的。

你能帮助我吗?

1 个答案:

答案 0 :(得分:1)

您可以使用以下方法,在此示例中提取第一个矩阵:

data = load(<path to txt file>)
N = size(data,1);
mat1 = zeros(sqrt(N),sqrt(N));
mat1(:) = data(:,1);

通过使用以下内容,还可以将4个矩阵保留在单元格中:

data = load(<path to file>)
N = size(data,1);
matCell = cell(size(data,2),1);
for ii=1:length(matCell)
   matCell{ii} = zeros(sqrt(N),sqrt(N));
   matCell{ii}(:) = data(:,ii);
end

在这种情况下,您可以使用matCell {1}访问第一个200x200矩阵。