MATLAB: отображение переменных в рабочей области без изменения ее индекса вручную - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть 3 разных набора данных в моей переменной рабочей области с индексом по имени для идентификации.

Первый набор в рабочей области:

lat1 = rand(10,1);
long1 = rand(10,1);
alt1 = rand(10,1);
time1 = rand(10,1);

Второй сет в рабочей области:

lat2 = rand(10,1);
long2 = rand(10,1);
alt2 = rand(10,1);
time2 = rand(10,1);

Третий сет в рабочей области:

lat3 = rand(10,1);
long3 = rand(10,1);
alt3 = rand(10,1);
time3 = rand(10,1);

Каждый раз вручную я ввожу код и изменяю индекс, например, с plot(time1,lat1) TO plot(time2, lat2). Я хочу построить все эти наборы данных, используя цикл for (или другой выбор конструкции) без необходимости каждый раз менять индекс для построения графика. Что-то похожее на приведенное ниже или другой способ достижения выбранного результата:

for k = 1:3
plot(time1(k), lat(k))
plot(time1(k), long(k))
plot(time1(k), alt(k))
end

1 Ответ

2 голосов
/ 25 апреля 2019

Ваш вопрос не очень понятен, поэтому я не до конца понимаю, чего вы хотите, но я думаю, что это может быть полезно.

Можете ли вы просто поместить их в массив и построить различные столбцы в массиве?

Что-то вроде:

lat = rand(10,3);
long = rand(10,3);
alt = rand(10,3);
time = rand(10,3);

for ii=1:3
    figure
    hold on
    plot(time(:,ii),long(:,ii),'o')
    plot(time(:,ii),alt(:,ii),'o')
    plot(time(:,ii),lat(:,ii),'o')
end

Тогда, если вы хотите изменить одну из переменныхВы просто измените соответствующий столбец.Например, если вы хотите изменить эквивалент lat3, вы просто установите

lat(:,3)=rand(10,1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...