How to replace numbers in a matrix with another number?

18 views (last 30 days)
I am stuck with a problem. I have a 2D matrix, let’s say, m*n as the size of the matrix. I want to put the values whose magnitude is less than a given constant (a very small decimal number) as 0, but I want to avoid for loop in my code for this.
Is there any way to do this?
Thank you.
  2 Comments
N/A
N/A on 29 Oct 2024 at 17:31
Moved: Voss on 29 Oct 2024 at 17:32
0 0 0 0 0
d = 0 0 0 6 6
0 0 0 6 6
help me how to create this coding
Voss
Voss on 29 Oct 2024 at 17:33
d = [0 0 0 0 0; 0 0 0 6 6; 0 0 0 6 6]
d = 3×5
0 0 0 0 0 0 0 0 6 6 0 0 0 6 6
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

Sign in to comment.

Accepted Answer

Abhijit Nayak
Abhijit Nayak on 13 Jul 2022
I guess from my understanding of your question that you just want to replace the values with 0 if their magnitude is less than a number.
Try the given below code. It is better than having for loop for this operation in MATLAB.
A=rand(6,5)
n=0.5;
A(abs(A)<n)=0

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!