2017-06-17 80 views
-1

我有一個.csv這樣的數據庫:更改格式CSV Matlab的

1,2455,2.5,1260759113 
1,2968,1.0,1260759200 
1,3671,3.0,1260759117 
2,10,4.0,835355493 
2,17,5.0,835355681 
2,39,5.0,835355604 

而且我想將它轉換成在Matlab但具有下列特徵的矩陣:

  • 第一元素指示矩陣(從1開始)

  • 的去柱

    第二元素對應於矩陣(從1開始)

  • 第三元件是具有在基體

  • 第四元件的那(column ,row)去實際值的行是垃圾......

我剛開始使用Matlab的所以這將是巨大的,如果你能爲我提供了一些代碼,因爲我甚至不知道怎麼谷歌是正確的。

+1

可能重複[如何根據行號和列號創建數組](https://stackoverflow.com/questions/36840287/how-to-creat-an-array-according-to-row和 - 列號) – beaker

回答

0
% Sample data 
col = [1 1 1 2 2 2]'; % e.g. col = inputData(:,1) 
row = [1 3 2 1 2 3]'; 
data = [11 12 13 14 15 16]'; 

% Using a loop: note that row and col must uniquely identify data 

% preallocate output matrix 
outMatrix = nan(max(row),max(col)); 

for i = 1:size(data,1) 
    outMatrix(row(i),col(i)) = data(i); 
end 
+0

它不工作。當我運行'for循環',它給了我這個錯誤: '試圖訪問outMatrix(NaN,NaN);索引必須是正整數或邏輯.' – Matnagra

+0

您可以檢查矢量行或列是否有任何NaN?例如。總和(isnan(row))應該爲零。 – EmptySpectrum