Find element satisfying condition in 3D array, then apply operation to all elements in the column number
4 次查看(过去 30 天)
显示 更早的评论
I have two 3D arrays A & B with I x J x K elements. I want to find all the elements that satisfy a certain condition in A (e.g. A<0). Now, if element A(i,j,k) satisfies this condition, I would like to apply some operation to ALL the elements that are in the coulmn j of array B.
How can I do this?
0 个评论
采纳的回答
ANKUR KUMAR
2021-3-12
编辑:ANKUR KUMAR
2021-3-12
" I want to find all the elements that satisfy a certain condition in A (e.g. A<0). ": I hope you mean to find the indices of the elements which satisfies the given cretieria.
%creating a random matrix;
A=randi(5,5,3,4)-3
ind = find(A>0);
[ii,jj,kk] = ind2sub(size(A), ind);
[ii,jj,kk]
" I would like to apply some operation to ALL the elements that are in the coulmn j of array B. ":
for kk=1:size(A,3)
B(:,unique(jj),kk)= B(:,unique(jj),kk) *5 ; %some operation
end
Hope this helps.
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!