how to read a matrix from a text file in matlab

前端 未结 4 1658
半阙折子戏
半阙折子戏 2021-01-15 08:51

I have a text file which has 500 columns and 500 rows, of numerical(integer) values . Every element in the row is separated by a tab. I want to rea

相关标签:
4条回答
  • 2021-01-15 09:00
    % 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.';
    
    0 讨论(0)
  • 2021-01-15 09:04

    Have you tired load with -ascii option?
    For example

     a = load('myfile.txt', '-ascii'); % read the data
     a = a.'; %' transpose
    
    0 讨论(0)
  • 2021-01-15 09:12

    You can use importdata. Something like:

    filename = 'myfile01.txt';
    delimiterIn = '\t';
    headerlinesIn = 1;
    A = importdata(filename,delimiterIn,headerlinesIn);
    A_trans = A';
    

    You can skip headerlines if your file does not have any haeder.. (It is the number of lines before the actual data starts)

    Taken from Matlab documentation, improtdata

    0 讨论(0)
  • 2021-01-15 09:19

    You could simply do:

    yourVariable = importdata('yourFile.txt')';
    %Loads data from file, transposes it and stores it into 'yourVariable'.
    
    0 讨论(0)
提交回复
热议问题