calculate angle between 2 n-dimentional vectors with missing data

1 visualización (últimos 30 días)
Brandon
Brandon el 30 de Dic. de 2014
Comentada: Matt J el 31 de Dic. de 2014
I have a matrix with the rows containing the n dimensions of 2 vectors. I want to calculate the angle of difference for each row. The issue I have is that some of the cells are missing and so I don't want either of the vectors values for that dimension in the row to go into the calculation.

Respuestas (1)

Matt J
Matt J el 30 de Dic. de 2014
Editada: Matt J el 31 de Dic. de 2014
So your matrix A is n x 2 and your the missing elements are NaNs? If so,
idx = all(~isnan(A),2); %EDITED
B=A(idx,:);
norms = prod(sqrt(sum(B.^2)));
dotprod= sum(prod(B,2));
result = acosd( dotprod/norms), %angleDiff
  2 comentarios
Roger Stafford
Roger Stafford el 31 de Dic. de 2014
Matt, I think you mean
idx = all(~isnan(A),2);
Matt J
Matt J el 31 de Dic. de 2014
Right you are, Roger. I've edited accordingly.

Iniciar sesión para comentar.

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by