How to replace every value with the index of the value to the left of it
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
This way the left most column is 0. I initially tried using a while loop but with a really big matrix, it takes way too long. so if I had a matrix
x= [ 2 3 4 5 6 ;
8 9 10 11 12 ]
the matrix i would want is
[ 0 1 3 5 7 9;
0 2 4 6 8 10 ]
I'm kind of at a crossroads here.
0 comentarios
Respuestas (1)
DGM
el 10 de Oct. de 2021
There's this:
x = [ 2 3 4 5 6 ; 8 9 10 11 12 ]
idx = reshape(1:numel(x),size(x));
out = [zeros(size(x,1),1) idx(:,1:end-1)]
4 comentarios
Jan
el 10 de Oct. de 2021
The output needs to have one column more than the input. Maybe this matchs the needs:
out = reshape([0, 0, 1:numel(x)], 2, []);
Ver también
Categorías
Más información sobre Matrix Indexing 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!