我需要保存用户的N个矩阵。我已经保存矩阵询问有多少行和列并迭代N次,但我的问题是如何保存N矩阵的名称。
实施例
matrix1 = [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
是列。
答案 0 :(得分:3)
我假设您希望用户输入N个矩阵,并且不知道如何使用给定名称保存矩阵。
您可以尝试以下操作:
填写完给定的矩阵后,您可以执行以下操作:
Matrix{k} = clase;
这将在i
和j
循环结束后发生。
最后,您将拥有一个矩阵的单元格数组。要访问第二个,您只需输入Matrix{2}
答案 1 :(得分:0)
听起来你要做的就是为每个递增矩阵matrix_k创建一个变量名。以下行将返回一个字符串“filename”,其字符串为“matrix”,后跟矩阵编号k:
filename = genvarname(['matrix' num2str(k)]);
然后您可以使用以下内容保存矩阵:
save(filename, 'matrix');
如果您想简单地将每个新矩阵的值分配给新的变量名称,您可以改为使用以下内容:
eval(['matrix' num2str(k) '=' num2str(matrix)])
将创建一个变量“matrix_k”并将矩阵的当前值分配给它。