Borrar filtros
Borrar filtros

how to fill 3D array with alternate data from another 3D array

1 visualización (últimos 30 días)
Hi,
I have a 3D array called data 1, with dimensions (51,1000,50)
I would like to fill another 3D array, called data, with dimensions (27,1000,50). I have written the following code:
data(1:3,:,:)=data1(1:3,:,:)
data(4:6,:,:)=data1(7:9,:,:)
data(7:9,:,:)=data1(13:15,:,:)
data(10:12,:,:)=data1(19:21,:,:)
data(13:15,:,:)=data1(25:27,:,:)
data(16:18,:,:)=data1(31:33,:,:)
data(19:21,:,:)=data1(37:39,:,:)
data(22:24,:,:)=data1(43:45,:,:)
data(25:27,:,:)=data1(49:51,:,:)
The code works ok, but I wonder if there is a more efficient way to code this.
I thank you in advance,
Best regards

Respuesta aceptada

Benjamin Thompson
Benjamin Thompson el 24 de Feb. de 2022
This is a partial example but you can use an index vector to designate all the rows you want to copy from data1:
Icopy = [1:3, 7:9];
data(1:6,:,:)=data1(Icopy,:,:)
  1 comentario
Benjamin Thompson
Benjamin Thompson el 24 de Feb. de 2022
Extending this example you can collapse your code into one line which will probably be a bit faster also. Just one copy into data.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Debugging and Analysis en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by