Target just the last added entries to a matrix
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Vance Blake
el 30 de Ag. de 2019
Comentada: Vance Blake
el 1 de Sept. de 2019
Hey, I am working with matrices and I wanted to know if there is a standard way/code to target just the last added entries to a matrix. I used the general syntax for appending data points to a matrix (A= [A;B]) and I wanted to know if there was an analogous general method for targetting the last added entries into a matrix. For example, I append 4 sets of coordinates to a matrix and now I want to call just those 4 sets from the matrix and use them for next step in my code. Any help is greatly appreciated.
4 comentarios
Guillaume
el 30 de Ag. de 2019
There is always another way, but your question is not particularly clear.
A(end-n:end, :)
will give you the last n+1 rows of the matrix.
Note that growing a matrix by appending rows in a loop is slow. If you know beforehand how many rows the final matrix is going to be, then preallocating the matrix is a lot more efficient.
Respuesta aceptada
Guillaume
el 30 de Ag. de 2019
As commented:
A(end-n:end, :)
will give you the last n+1 rows of the (2D) matrix.
does your solution only work with a loop
Why do you think that? There's no loop involved in that line. It's basic matrix indexing using the end keyword.
3 comentarios
Guillaume
el 1 de Sept. de 2019
Have you read the documentation page I linked?
This is really basic indexing. As everything in matlab, the name of the variable is irrelevant. You can call them whatever you want or replace the variable by a hardcoded constant
A(end-n:end, 1) %returns the last n+1 rows of A
A(end-10:end, 1) %returns the last 11 rows of A
somename(end-someothername:end, 1) %returns the last someothername+1 rows of somename
Más respuestas (0)
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!