2016-02-28 52 views
0

我已經創建了一個矩陣A並將其存儲在一個使用下述命令如何從文本文件中訪問矩陣的所需部分。

dlmwrite('MatrixA.txt',A); 

現在當我使用 B = csvread名爲MatrixA.txt文件( 'MatrixA.txt',R,C);

其中r和c是矩陣的所需行和所需列我不能得到它,因爲它需要矩陣的最後一部分..對於Ex ... 如果我有 A = [1 2 3 4 ; 5 6 7 8; 9 10 11 12;我想有 B = [1 2; 5 6]

但是當我使用 B = csvread( 'MatrixA.txt',2,2)

它給 B = [11 12; 15 16]

請幫傢伙....

回答

0

你應該使用:

B=csvread('MatrixA.txt',0,0,[0 0 1 1]) 

在調用csvread你必須指定:

  • 開始rowcolumn(它們是0-based
  • 範圍數據要讀:[R1 C1 R2 C2]其中(R1,C1)是數據的左上角被讀取和(R2,C2)是右下角

而且可以讀取整個矩陣(用於進一步使用),然後訪問該子矩陣需要:

B=csvread('MatrixA.txt') 
start_row=1; 
end_row=2; 
start_column=1; 
end_column=2; 

B1=B(start_row:end_row,start_column:end_column) 

此外,還可以指定一個步驟:

B=csvread('MatrixA.txt') 
start_row=1; 
end_row=4; 
row_step=2; 
start_column=1; 
end_column=4; 
column_step=2; 

B2=B([start_row:row_step:end_row],[start_column:column_step:end_column]) 

作爲替代方案,可以使用dlmread

B=dlmread('MatrixA.txt',',',[0 0 1 1]) 

希望這會有所幫助。

Qapla'

+0

非常感謝主席先生。 :) –

+0

不客氣,我一直在使用你的快樂。要解決問題並讓社區知道您的問題已得到解決,您可能需要將答案標記爲「已接受」。 –

相關問題