我有一个文本文件,其中包含500 columns
和500 rows
的数值(整数)值。行中的每个元素都由制表符分隔。我想将此文件作为matlab
. 示例(我的文本文件是这样的):
1 2 2 1 1 2
0 0 0 1 2 0
1 2 2 1 1 2
0 0 0 1 2 0
在 matlab中将这个文本文件作为矩阵 ( a[]
) 读取后,我想做transpose
。帮我。
您可以使用importdata
. 就像是:
filename = 'myfile01.txt';
delimiterIn = '\t';
headerlinesIn = 1;
A = importdata(filename,delimiterIn,headerlinesIn);
A_trans = A';
如果您的文件没有任何 haeder,您可以跳过标题行。(这是实际数据开始之前的行数)
取自 Matlab 文档,improtdata
你厌倦load
了-ascii
选择吗?
例如
a = load('myfile.txt', '-ascii'); % read the data
a = a.'; %' transpose
你可以简单地做:
yourVariable = importdata('yourFile.txt')';
%Loads data from file, transposes it and stores it into 'yourVariable'.
% Pre-allocate matrix
Nrow=500; Ncol=500;
a = zeros(Nrow,Ncol);
% Read file
fid = fopen('yourfile.txt','r');
for i:1:Nrow
a(i,:) = cell2mat(textscan(fid,repmat('%d ',Ncol));
end
fclose(fid);
% Trasnspose matrix
a_trans = a.';