-3
我使用IMPORTDATA提取ASCII文件作爲例子IMPORTDATA:問題
u(1,1) = importdata('folder/file1_1.asc' ' ', 9)
u(1,2) = importdata('folder/file1_2.asc' ' ', 9)
u(2,1) = importdata('folder/file2_1.asc' ' ', 9)
等提取數據的時候。 現在我必須提取數據。一切都很好,如果我這樣做
a = u(1,1).data(:,2)
,但如果不是我做
a(1,1) = u(1,1).data(:,2)
則MATLAB返回一個錯誤(下標賦值尺寸不匹配),不運行。我應該提取272個數據集,因此我按照上面的方法進行操作。這是一個錯誤?我該怎麼辦?
我想他們兩個。 {1,1} = u(1,1).data(:,2)返回單元格內容分配給非單元格數組對象,而a(1:1001,1)= u(1,1).data (:,2)返回下標的分配維度不匹配。奇怪的是,如果我輸入a = u(1,1).data就沒有問題了:a變成一個包含我需要的元素的數組。 – ragnar
是的,但是size(u(1,1).data(:,2))是什麼,除非它是[[1001,1]],那麼毫不奇怪a(1:1001,1)= u 1,1).data(:,2)'不起作用。你必須在任務的兩邊都有相同的尺寸!至於單元格矩陣的錯誤,請確保先清除''a''。試試這個:'清楚; u(1,1).data = rand(10) a {1,1} = u(1,1).data(:,2); b(1:10,1)= u(1,1).data(:,2)',你會發現兩種方法實際上都起作用 – Dan