how to choose right index
    조회 수: 1 (최근 30일)
  
       이전 댓글 표시
    
Dear All,
 I have this matrix X and this is the index for it. I want to take the row with 1 1 index to empty and plot the remind points, but I got wrong
Y =[1.7797    1.3341
    1.5067    0.5390
    1.0709    1.0732
    1.2872    1.0745
    0.3687    1.4166
    0.4112    0.2333
    1.4512    0.8961
    1.9749    1.6645];
idx =[0     1
     0     1
     1     1
     1     1
     0     1
     0     0
     1     1
     0     0];
m=8;
for i=1:1:m
        if idx(i,1:1:end)==1
             Y(i,:)=[]
             end
       m=size(Y,1)
     end
          plot(Y(:,1),Y(:,2),'.r');
I know my problem with the if condition, I don't know who to write it correct. Can anyone help me please.
Regards, imola
regards
댓글 수: 3
  Image Analyst
      
      
 2015년 2월 16일
				You say "I have this matrix X" - what matrix X???? And if idx(i,1:1:end)==1 gives a vector. I think you want to use all().
채택된 답변
  Image Analyst
      
      
 2015년 2월 16일
        Perhaps you want this:
clc;
Y =[1.7797    1.3341
  1.5067    0.5390
  1.0709    1.0732
  1.2872    1.0745
  0.3687    1.4166
  0.4112    0.2333
  1.4512    0.8961
  1.9749    1.6645];
idx =[0     1
  0     1
  1     1
  1     1
  0     1
  0     0
  1     1
  0     0];
[rows, columns] = size(idx)
rowsToKeep = false(rows, 1);
for row=1:1:m
  allOnes = all(idx(row, :));
  if ~allOnes
    rowsToKeep(row) = true;
  end
end
rowsToKeep
extractedY = Y(rowsToKeep, :);
plot(extractedY(:,1), extractedY(:,2), 'r.-', 'MarkerSize', 20);
grid on;
참고 항목
카테고리
				Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



