Logical indexing in multidimensional array
11 次查看(过去 30 天)
显示 更早的评论
I have a 4-dimensional array and would like to replace parts of it with NaN values. The array has dimensions 60 x 321 x 28 x 16, the first three dimensions are some parameters I iterated through, the last dimension is the actual results I obtained. I would now like to replace some of the results, depending on the value of one of the elements from the results. I tried this:
res = % some 4D array (60 x 231 x 28 x 16)
res(res(:,:,:,9) > 5, 4:16) = NaN; % Fail
What I want to obtain would be something like this:
for x=1:60
for y=1:321
for z=1:28
if res(x,y,z,9) > 5
res(x,y,z,4:16) = NaN;
end
end
end
end
Is there a more compact way of writing this?
1 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!