Correct error in logical indexing
이전 댓글 표시
Hi, I can't figure out why i get the wrong result in this loop
I now when k=3 it should be 1, but I get a 0.
it gives me a array only containing of 0
thanks a lot for your help.
for k = length(PassCoord)
X(k,1) = mBall(PassCoord(k,1)) > mBall(PassCoord(k,2))
end
채택된 답변
추가 답변 (1개)
Guillaume
2019년 4월 23일
- You use length on a matrix. If your matrix happens to only have one row, your code will error since length will return the number of columns in that case. Here length means the number of rows, so use size(PassCoord, 1) to explicitly request the number of rows.
- What's the point of the loop> the whole code is equivalent to:
X = mBall(PassCoord(:, 1)) > mBall(PassCoord(:, 2));
As for what you don't get the result you expect, we can't tell without knowing what's in mBall and PassCoord. Either the code you wrote doesn't do what you meant it to do or the inputs are different from what you think. So explain and attach the two variables in a mat file.
카테고리
도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!