我正在尝试从名为xMat.txt
的文本文件导入数据,该文件具有以下格式的数据。
一行中有200个空格分隔的元素和一些767行。
这就是xMat.txt
的样子。
386.0 386.0 388.0 394.0 402.0 413.0 ... .0 800.0 799.0 796
801.0 799.0 799.0 802.0 802.0 80 ... 399.0 397.0 394.0 391
.
.
.
This is my file - 供参考。
当我尝试使用
读取文件时file = fopen('xMat.txt','r')
c = textscan(file,'%f');
我得到的输出为:
> c = { [1,1] =
> 386
> 386
> 388
> 394
> 402
> 413
> 427
> 442
> 458
> 473
> 487
> 499
> 509
> 517
> 524 ... in column format
我需要的是尺寸矩阵(767X200)。我怎么能这样做?
答案 0 :(得分:2)
在这种情况下,我不会使用textscan
,因为您的文本文件纯粹是数字的。您的文本文件包含767行,每行200个数字,每个数字由空格分隔。您无法使其更适合与dlmread
(MATLAB doc,Octave doc)一起使用。 dlmread
可以一次为您完成此操作:
c = dlmread('xMat.txt');
c
将包含767 x 200
数组,其中包含存储在文本文件xMat.txt
中的数据。希望您可以在这种情况下转储textscan
,因为您真正想要的是尝试将您的数据读入Octave ......而dlmread
可以很好地为您完成工作。