如何定义动态命名的矩阵?

时间:2019-05-06 12:54:02

标签: matlab

如果使用VBA在Excel中定义从A1A10的范围,则可以使用Range("A1:A10")。另一方面,可以写下Range("A1:A"&10)。请问如何在MATLAB中使用第二种方法?

我有一些矩阵M1M2M3,...,我希望通过使用迭代器FOR来定义它们,这有助于我停止编写矩阵完全命名。

1 个答案:

答案 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]']);