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)
end
disp(a)
disp(b)

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)
end
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.

Tags

Community Treasure Hunt

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

Start Hunting!