2014-02-23 41 views
0

我需要從用戶保存N個矩陣。我已經保存了矩陣,詢問了多少行和列並重復了N次,但是我的問題是如何保存N矩陣的名稱。如何從鍵盤讀取N個矩陣

矩陣1 = [1 2 3; 4 5 6]

matrix2 = [7 8 9; 14 15 16]

matrixN = [0 0 0; 0 0 0]

這是我的代碼:

for k = 1:nClases 
    for i = 1:m(i) 
     for j = 1:n(i) 
      str = ['Ingresa elemento en fila ' num2str(i) ', columna ' num2str(j) ' de clase' num2str(k) ': ' ]; 
      clase(i,j) = input(str); 
      eval(sprintf('clase%d = [1:k]', k)); 
     end 
    end 
end 

k是我需要矩陣的數量。

m是行。

n是列。

回答

3

我假設你想讓用戶輸入N個矩陣並且不知道如何用給定的名字保存矩陣。

你可以嘗試以下方法:給定矩陣填寫

後,你可以這樣做:

Matrix{k} = clase; 

這會在ij循環結束後。

最後,你將有一個矩陣單元陣列。要訪問第二個,你可以只輸入Matrix{2}

0

聽起來你想要做的是爲每個增量矩陣matrix_k創建一個變量名稱。下面的行會返回一個字符串「文件名」字符串「矩陣」後面的矩陣數k:

filename = genvarname(['matrix' num2str(k)]); 

然後,您可以保存矩陣如下:

save(filename, 'matrix'); 

,如果您喜歡簡單的每一個新的矩陣的值賦給一個新的變量名,你也可以使用下列內容:

eval(['matrix' num2str(k) '=' num2str(matrix)]) 

,這將創建一個變量「matrix_k」,並指定當前值的矩陣。