Matlab For Cycle, выбор переменных с именами с инкрементными числами - PullRequest
0 голосов
/ 07 мая 2018

У меня есть несколько векторов, содержащих данные, которые я должен разработать таким же образом, они названы так: «data1», «data2» ecc ... Я хотел бы автоматизировать процесс с помощью цикла for Как я могу "выбрать" переменные с помощью индекса? Например, первая строка моей разработки - это задание типа «x = data1», я хочу, чтобы во втором цикле было «x = data2» и так далее. Заранее спасибо

1 Ответ

0 голосов
/ 07 мая 2018

Вы можете использовать комбинацию strcat и num2str для создания имени переменной

i = 1;
name = strcat("data",int2str(i));

Таким образом, помещение его в цикл for, который обновляет i, будет постоянно менять имя. Далее вы можете использовать eval, чтобы оценить имя

x = eval(name);

Всего

for i = 1:n
    name = strcat("data",int2str(i));
    x = eval(name);
end

ПРИМЕЧАНИЕ 1.: Обычно создание имен переменных таким способом считается плохой практикой. Вам было бы гораздо лучше сохранить все переменные в одном массиве. По словам Луиса Мендо в комментариях.

ПРИМЕЧАНИЕ 2: Обычно оно считается циклом for, а не циклом: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...