For loop only saving my last run

for i = 1:2
Result(i) = norm(vcu(i,:))
end
p=0
for k = 1:2
ada = vcu(k,:)/Result(k)
end
Where vcu is a vector (a,b,c;a2,b2,c3)
when I run the code I get 2 1x3 vectors as ada but when I want to use ada further in my code it does not work because ada is only saved for k=2

回答(1 个)

Here are a few pointers which may help with your situation:
  • As per the code given above each iteration of the for loop causes the result to be saved in the variable “ada”, which essentially overwrites the existing value. Since “ada” is not predefined, it takes the size of the last data assigned to it (1x3).
  • Instead, you may use the following code:
ada = zeros(2, size(vcu, 2));
for k = 1:2
ada(k,:) = vcu(k,:)/Result(k);
end

类别

在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

提问:

2019-11-13

Community Treasure Hunt

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

Start Hunting!

Translated by