How to replace numbers in a matrix with another number?

9 visualizzazioni (ultimi 30 giorni)
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 Commenti
N/A
N/A il 29 Ott 2024
Spostato: Voss il 29 Ott 2024
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 il 29 Ott 2024
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>

Accedi per commentare.

Risposta accettata

Abhijit Nayak
Abhijit Nayak il 13 Lug 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

Più risposte (0)

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by