logicals and replacing values in 3D matrices

1 Ansicht (letzte 30 Tage)
Chad Greene
Chad Greene am 28 Feb. 2014
Beantwortet: Azzi Abdelmalek am 28 Feb. 2014
I have three matrices. Their sizes are as follows:
x is m x n.
y is m x n.
z is m x n x q.
I can redefine all the values in y corresponding to x=2 by y(x==2)=NaN. I'd like to do this for all the corresponding values of z as well. It seems simple, but how do I do this? z(x==2,:) does not work.

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 28 Feb. 2014
[ii,jj]=find(x==2)
kk=repmat((1:numel(ii))',1,q)';
idx=sub2ind(size(z),repmat(ii,q,1),repmat(jj,q,1),kk(:))
z(idx)=nan

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by