Reading and grouping data from file
    2 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Hi I have to read a data from the file. Readings from several hours, are saved in in this format:
TIME 00:00
A        B          C
0.25    90.000      774
0.48   116.554     2851
0.50   148.259     3094
0.60   175.225     4455
1.30   201.503    20916
1.40   205.942    24257
1.70   217.980    35767
1.80   221.841    40099 
2.80   265.374    97030
2.95   278.601   107704
TIME 05:30
A        B          C
0.25    40.000      774
0.30    72.111     1114
0.70   145.267     6064
2.00   275.841    49505
3.10   292.110   118936
3.17   293.396   124368
TIME 12:00
A        B          C
0.25    40.000      774
0.30    92.111     1114
0.40    97.351     1980
0.50   110.000     3094
0.48   125.014     2851
0.50   137.337     3094
0.60   153.750     4455
I would like to read every part of data for every hour separately, and in the future group for every hour parameters A,B and C. I was trying in few ways but with no good effects
Thank You very much for Your time.
3 件のコメント
  per isakson
      
      
 2013 年 1 月 30 日
				
      編集済み: per isakson
      
      
 2013 年 1 月 30 日
  
			There are two reasons to put each block of numerical values in a double array and each array in a cell of a cell array
- saves on memory (a lot)
- makes faster code possible
    result( block_number ) = ...
    {[0.25    40.000      774
      0.30    92.111     1114
      0.40    97.351     1980
      0.50   110.000     3094
      0.48   125.014     2851
      0.50   137.337     3094
      0.60   153.750     4455]}
採用された回答
  per isakson
      
      
 2013 年 1 月 30 日
        
      編集済み: per isakson
      
      
 2013 年 1 月 31 日
  
      Hint:
- read the file and find the row numbers of "TIME": ixt
- read the file a second time one block at a time controlled by ixt
- the second time the file is in the file cache and reading is fast
    function    M = Answer( )       
        fid  = fopen( 'cssm.txt', 'r' );
        cac  = textscan( fid, '%s', 'Delimiter', '\n' );
        sts  = fclose( fid );
        ixt  = find( strncmp( 'TIME', cac{1}, 4 ) );
    end
その他の回答 (0 件)
参考
カテゴリ
				Help Center および File Exchange で Large Files and Big Data についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


