Как я могу определить динамически названные матрицы? - PullRequest
0 голосов
/ 06 мая 2019

Если вы определяете диапазон от A1 до A10 в Excel, используя VBA, вы можете использовать Range("A1:A10").С другой стороны, можно записать Range("A1:A"&10).Как я могу использовать второй способ в MATLAB, пожалуйста?

У меня есть несколько матриц M1, M2, M3, ..., и я хочу определить их с помощью итератора FORэто помогает мне прекратить писать имена матриц полностью.

1 Ответ

0 голосов
/ 06 мая 2019

Несмотря на замечание, что этот подход осуждается, ниже приведен способ сделать это программно:

% 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]']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...