Replace Elements in matrix in specific positions

5 Ansichten (letzte 30 Tage)
Pedro R
Pedro R am 6 Jun. 2019
Kommentiert: Steven Lord am 6 Jun. 2019
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.

Antworten (1)

goerk
goerk am 6 Jun. 2019
Bearbeitet: goerk am 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 Kommentare
madhan ravi
madhan ravi am 6 Jun. 2019
Pedro R commented:
sorry, is was -0.54.
Steven Lord
Steven Lord am 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;

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Type Identification finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by