Can't get simple for loop to run
조회 수: 1 (최근 30일)
이전 댓글 표시
I've still not got the hang of loops! I have a 3667 x 1 double matrix (d1) and I have a 33 x 1 matrix (d2). All the values in the 33 x 1 matrix (d2) should correpsond to values in the 3667 x 1 matrix (d1). I want to loop throught each row of the the 33 x 1 matrix and get the index of the equivelant value in the 3667 x 1 matrix. I can do this without a loop using the following code using just one value from d2:
index_1=find(d1(:,1)==R1);
where R1 correpsonds to the integer value in the matrix d2 (e.g. d2(1,1))
However, when I try and put this in a loop the result ij is empty. The code seemd to run but I'm not getting the result that I get outside the loop.
size_d2=size(d2);
results=zeros(size(1,1),1);
for ii=d2(1):d2(end)
ij=find((d1(:,1))==ii);
results(ii)=ij;
end
Any advice on where I'm going wrong would be appreciated!
Thanks
댓글 수: 0
답변 (1개)
Deepak Meena
2020년 9월 25일
Hi Alex ,
I think you are defining "results " variable wrong. From my understanding you want to results variable to be similar size of as d2. so you should be doing this :
results=zeros(size_d2(1,1),1);
Rest of the code seems fine to me.
댓글 수: 0
참고 항목
카테고리
Help Center 및 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!