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 回表示 (過去 30 日間)
a = rand(1,10);
b = zeros(1,10)
for q = 1:10
b(q) = a(q)
end
disp(a)
disp(b)

回答 (2 件)

Rohith Nomula
Rohith Nomula 2020 年 6 月 15 日
編集済み: Rohith Nomula 2020 年 6 月 15 日
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 2020 年 6 月 15 日
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.

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by