how to write values ​​to a vector and matrix by coordinates?

4 visualizaciones (últimos 30 días)
Hello! With the 'find' command, I found the coordinates of all elements greater than 1, now I need to write them to the matrix and vector, how can I do this?
A=vector 1x1000
x=vector 1x1000
y=vector 1x1000
B=matrix 28x1000
idx=find(A>1);
idx=vector coordinates 1x25 [102 502 ...]
and now I need to get
x=vector 1x25
y=vector 1x25
B=matrix 28x25

Respuesta aceptada

Stephen23
Stephen23 el 31 de En. de 2020
Editada: Stephen23 el 31 de En. de 2020
You don't need find, it is simpler and more efficient to use logical indexing:
idx = A>1;
x_new = x(idx);
y_new = y(idx);
B_new = B(:,idx);
  1 comentario
Lev Mihailov
Lev Mihailov el 31 de En. de 2020
The logical indices contain a true value outside of the array bounds.
Error in RawERT20 (line 618)
y_new = y(idx);
Here is an error

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by