For loop only saving my last run

조회 수: 2 (최근 30일)
Eric
Eric 2019년 11월 13일
답변: Jyothis Gireesh 2019년 11월 18일
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
David Hill
David Hill 2019년 11월 13일
ada(k) = vcu(k,:)/Result(k)%I think you just need to index ada.

댓글을 달려면 로그인하십시오.

답변 (1개)

Jyothis Gireesh
Jyothis Gireesh 2019년 11월 18일
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

카테고리

Help CenterFile Exchange에서 Install Products에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by