2013-04-22 30 views
0

我有一個文件「output.polygon」存儲多行數據具有不同的長度,就像下面讀取不同長度的數據在MATLAB

7760 5593040 0 5622880 0 5591040 7760 5593040 
65000 5407200 0 5407200 0 0 65000 0 65000 5407200 
7760 5593040 

我想要做的是首先讀取所有數據然後用空格解析它。

conductor = fopen('output.polygon'); 
s = fscanf(conductor, '%s'); 
A = strread(s); 

但是,我的代碼不起作用。任何人都可以幫我指出這個問題並提出這個問題的提示嗎?非常感謝。

回答

1

您可以嘗試importdata函數,該函數允許您指定列分隔符。下面的代碼加載數據到稀疏矩陣A:

A = importdata('output.polygon',' '); 

A = 

    7760  5593040   0  5622880   0  5591040  7760  5593040 
    65000  5407200   0  5407200   0   0  65000   0 
    65000  5407200   NaN   NaN   NaN   NaN   NaN   NaN 
    7760  5593040   NaN   NaN   NaN   NaN   NaN   NaN 
0
fid = fopen('output.polygon','r'); 
A = textscan(fid,'%s','Delimiter','\n'); 
A = A{1}; 
0

,所以你可以這樣做:

conductor = fopen('output.polygon'); 
A = fscanf(conductor, '%d');