Replace Elements in matrix in specific positions

2 views (last 30 days)
Hello, i have 3 matrixes of 15001 elements, A, B and C . What i want is that when A<=1.2 and in the same positions, -0.54<=B<=0.54, the same position D will be 0 , else inmatrix D will be = C.

Answers (1)

goerk
goerk on 6 Jun 2019
Edited: goerk on 6 Jun 2019
mask = A<=1.2 && B>-0.54 && B<0.54;
D=zeros(size(C));
D(mask)=C(mask);
Edit:
Range adapted.
  2 Comments
Steven Lord
Steven Lord on 6 Jun 2019
Replace the && in your answer with &. Use && for short-circuiting when the two expressions you're trying to and together are scalars. Use & to and together two arrays element-wise.
% Sample data
A = randn(5);
B = randn(5);
% Will throw an error
mask = A<=1.2 && B>-0.54 && B<0.54;
% Will not throw an error
mask = A<=1.2 & B>-0.54 & B<0.54;

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!