Saving for loop output in an array

84 visualizzazioni (ultimi 30 giorni)
Terry
Terry il 17 Ott 2013
Commentato: yamen alharbi il 29 Dic 2020
I wrote a code in which I predefine the variable "a" and then set up a for loop of 5 iterations where the variable "a" goes through some basic operations. However, the for loop output only saves the fifth iteration of "a." How do I save all 5 iterations in a 1x5 array?
The code is as follows:
a = 10;
k = 0.5;
n = 2;
for m = 1:5
a = a + (a*k) + n;
end

Risposta accettata

Yatin
Yatin il 17 Ott 2013
Hi,
You will have to insert the value of a in another array during each iteration. Below is the modified code:
a = 10;
k = 0.5;
n = 2;
valueOfA = zeros(1,5);
for m = 1:5
a = a + (a*k) + n;
valueOfA(m) = a;
end
  6 Commenti
mohammed magdy
mohammed magdy il 1 Dic 2019
thank you sir
yamen alharbi
yamen alharbi il 29 Dic 2020
clc
clear all
a(1)=10; k=0.5;n=2;
a1=zeros(1,5); %create an array to store the results
for m=1:5
a(m+1)=a(m)+a(m)*k+n;
a1(1,m)=a(m+1); %store each result in a vector
end

Accedi per commentare.

Più risposte (1)

Vivek Selvam
Vivek Selvam il 17 Ott 2013
Terry, this implementation has a different final value.
a(m+1) = a(m) + a(m)*k + n;
Do you want the same final value?
If you are interested check out preallocation:

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by