如果使用VBA在Excel中定义从A1
到A10
的范围,则可以使用Range("A1:A10")
。另一方面,可以写下Range("A1:A"&10)
。请问如何在MATLAB中使用第二种方法?
我有一些矩阵M1
,M2
,M3
,...,我希望通过使用迭代器FOR
来定义它们,这有助于我停止编写矩阵完全命名。
答案 0 :(得分:-2)
尽管对此方法不屑一顾,但以下是通过编程方式进行的一种方法:
% define cell with matrix names
number_of_matrices_I_want = 5;
my_matrix_names = repmat({'NA'}, 1, number_of_matrices_I_want);
for ii = 1:length(my_matrix_names)
my_matrix_names(ii) = {strcat('M',num2str(ii))};
end
% example for how to populate a matrix from "my_matrix_names"
x = rand(5,1); % fake numbers
y = rand(5,1);
eval([my_matrix_names{1} '= [x y]']);