create a new 4D Array from 2 others
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Pepe Grillo
el 24 de Feb. de 2021
Comentada: Pepe Grillo
el 25 de Feb. de 2021
Hi!
i want to build a new 4d array from 2 others and one array is telling me the position of the values that i want,
any idea?
Thanks!
7 comentarios
Respuesta aceptada
Rik
el 25 de Feb. de 2021
I think I understand what you mean. The code below will overwrite all values that are not NaN for a given depth, which is equivalent to setting it to the last non-NaN (except if the first value is NaN).
%generate some fake data
%cumsum will ensure all values after the first NaN are NaN as well
u1=rand(241,97,7,1637);u1(u1<0.1)=NaN;u1=cumsum(u1,3);
u2=u1(:,:,1,:);
for depth=1:size(u1,3)
layer=u1(:,:,depth,:);
L=~isnan(layer);
u2(L)=layer(L);
end
3 comentarios
Rik
el 25 de Feb. de 2021
That first line was only meant to generate random data. You should replace it with your actual data.
Más respuestas (0)
Ver también
Categorías
Más información sobre Structures 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!