Reputation: 452
I have the following problem: I have say 100 3-dimensional points, and a correlation matrix A with the correlation of all the points to each other, hence A has the dimensions 100 x 100.
For all my points I have another matrix B with the coordinates of each point, such that B is a 3 x 100 matrix.
Now I want the following to be done: From my correlation matrix A, I only want to have the correlation of points extracted, where the x coordinate of the point is 0 or bigger than zero, such that I arrive at a new correlation matrix, and also for the matrix B I only want to keep the points which fullfill this criterion. The x values are stored in the first row of the matrix B for each of the 100 points.
How could I do that?
Upvotes: 0
Views: 35
Reputation: 2619
try this
B_out = reshape(B(repmat(B(1,:)>0,3,1)),3,[]);
[row col] = find(B(1,:) > 0);
out_A = A(col,col);
Upvotes: 0