# How to replace elements of matrix by elemts from array

2 visualizaciones (últimos 30 días)
Dmitry Timofeev el 27 de Dic. de 2019
Respondida: Andrei Bobrov el 27 de Dic. de 2019
k = 8;
x = 1:2500; % array
h = 1:257;
newV = (0:length(x)-1).'*k+h;% matrix of indices
I have created matrix of indices, wich contains indexes of array x. Now I want to replace all elements of matrix by elemts from array x.
It should like this:
NewV = [x (1) x (2) x(3) ... ; x(9)... ; x(17)... ; x(25)... ]
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Respuestas (2)

Akira Agata el 27 de Dic. de 2019
Basically, this task can be done by:
NewV = reshape(x,8,[])';
But in your case, length(x) can NOT be devided by k (=8). So you should adjust length(x) by padding/removing some elements.
##### 2 comentariosMostrar NingunoOcultar Ninguno
Dmitry Timofeev el 27 de Dic. de 2019
How I can remove this elements from array x?
Dmitry Timofeev el 27 de Dic. de 2019
Editada: Dmitry Timofeev el 27 de Dic. de 2019
I've changed size of matrix 'newV'
clear; clc;
v = 1:257;
n = 100;
k = 8;
x = 1:2500;
h = 1:257;
n = length(1:8:length(x)-length(h));
NewV = (0:n-1).'*k + v;
NewV = reshape(x,8,[])';
But It still doesn't work.
How I should replace elements from array 'NewV' in this method:
NewV = [x (1) x (2) x(3) ... x(257); x(9)...x(265) ; x(17)... x(273); x(25)...x(281) ]
?

Iniciar sesión para comentar.

Andrei Bobrov el 27 de Dic. de 2019
out = x(NewV);
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

R2019b

### Community Treasure Hunt

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

Start Hunting!

Translated by