can someone explain this code for me? i am not sure what the q is doing here inside the loop. why do both vectors after the loop have the same numbers?

1 view (last 30 days)
a = rand(1,10);
b = zeros(1,10)
for q = 1:10
b(q) = a(q)

Answers (2)

Rohith Nomula
Rohith Nomula on 15 Jun 2020
Edited: Rohith Nomula on 15 Jun 2020
Basically first you are allocating space for 10 elements in b by doing
b = zeros(1,10)
After that for each element in b you are setting its value to a
here , b(1)=a(1), b(2)=a(2) .......
where q goes from 1 to 10 (its the index)
for q = 1:10
b(q) = a(q)
At the end you are displaying the a and b to make sure they both are the same .

David Hill
David Hill on 15 Jun 2020
q is the loop variable that goes from 1 to 10 in 1 step increments. q is used to index into both (a) and (b) arrays. The b array values are assigned the a array values; therefore, both arrays will contain the same values after the loop completes.


Community Treasure Hunt

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

Start Hunting!