for loop collecting output
이전 댓글 표시
F is giving me the same measurements and I can’t seem to find how to move to the next position.
A = (:,:,1) % There are 100 A symmetric matrix
for i = 1:100A
F(i) = atan(-(A(3,1)/A(3,2))) % Second A should be position (A(3,4).....
end
답변 (1개)
Hi,
it is not recommended to use i - since i is reserved for complex numbers. Perhaps use k or n or ii instead. I decided to use ii:
The idea is to work with the counter variable ii in this context. That means you have to find a way to express the steps of the loop by your counter variable. For example:
for ii = 1:99
F(ii) = atan(-(A(3,ii)/A(3,ii+1)))
end
would make the pairs:
ii = 1 --> A(3,1) / A(3,2)
ii = 2 --> A(3,2) / A(3,3)
ii = 3 --> A(3,3) / A(3,4)
...
ii = 99 --> A(3,99 / A(3,100)
I leave it to you to find an expression that counts the way you need it.
Best regards
Stephan
댓글 수: 6
Nikolaos Zafirakis
2019년 4월 30일
madhan ravi
2019년 4월 30일
Preallocation is essential.
Stephan
2019년 4월 30일
This takes first and second Matrix from A, then second and third and writes the results in the preallocated F Array:
A = randi(10,3,3,3)
F = nan(3,3,2)
for ii = 1:size(A,3)-1
F(:,:,ii) = atan(-(A(:,:,ii)/A(:,:,ii+1)))
end
Nikolaos Zafirakis
2019년 4월 30일
Steven Lord
2019년 4월 30일
I'm not certain I understand what you're trying to compute. Can you show us exactly what the results should be for the following A vector?
A = 1:9;
Stephan
2019년 4월 30일
I agree - we would need a example to be sure understanding you correctly
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!