Для вывода цикла в виде массива

111
18

Я написал код в Matlab, который предопределяю переменную "a", а затем создаю цикл for из 5 итераций, где переменная "a" проходит через некоторые основные операции. Тем не менее, выход для цикла контуров сохраняет только пятую итерацию "a". Как сохранить все 5 итераций в массиве 1x5?

Код выглядит следующим образом:

a = 10;
k = 0.5;
n = 2;
for m = 1:5
a = a + (a*k) + n;
end

Изменение: я просто нашел, что мне нужно создать новую переменную.

a = 10;
k = 0.5;
n = 2;
a_n = zeros(1,5);

for m = 1:5
a = a + (a*k) + n;
a_n(m) = a;
end

спросил(а) 2021-01-19T19:01:45+03:00 6 месяцев, 2 недели назад
1
Решение
77

Вам может потребоваться сохранить значение a после каждой итерации в другую переменную x

a = 10;
k = 0.5;
n = 2;
for m = 1:5
a = a + (a*k) + n;
x(m) = a;
end
x

Вывод:

x =
17.000 27.500 43.250 66.875 102.312

ответил(а) 2021-01-19T19:01:45+03:00 6 месяцев, 2 недели назад
63

Для хранения 5 итераций в качестве массива вам потребуется использовать другую переменную.

Код будет выглядеть примерно так:

a = 10;
k = 0.5;
n = 2;
b = [];
for m = 1:5
a = (a + (a*k) + n)
b = [b a];
end

Теперь вы можете распечатать b для всех 5 значений итерации.

Ниже приведен альтернативный способ обновления значений в 1-D матрице.

ответил(а) 2021-01-19T19:01:45+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема