How to replace a number with 0 in an array
Ältere Kommentare anzeigen
How to replace a number in a column with 0? I want to replace all 0.5 values in a column with 0
Akzeptierte Antwort
Weitere Antworten (1)
Jos (10584)
am 12 Feb. 2016
A = [1 2 3 ; 0.5 0.5 2 ; 0.5 5 6] % example data
C = A(:,1)
tf = C == 0.5
A(tf,1) = 0
% or in one line:
% A(A(:,1)==0.5,1) = 0
5 Kommentare
Lilja Dahl
am 12 Feb. 2016
Lilja Dahl
am 12 Feb. 2016
dpb
am 12 Feb. 2016
Just replace the RHS of the assignment with whatever is wanted; only restriction is you'll have to have saved the logical vector to known how many elements are needed to generate the proper number for the assignment. A constant is propagated automagically across any size target; multiple assignment on RHS must be conformant in size to the target on the LHS.
vanam sindhuja
am 7 Sep. 2020
Can I know the significance of tf.
...
tf = C == 0.5
A(tf,1) = 0
...
tf is the logical addressing vector; the variable name chosen to represent true|false as indicator it is a logical array.
As a subscripting expression, MATLAB returns only the locations in the referenced array for which elements in the indexing expression return TRUE
Kategorien
Mehr zu Variables finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!