How to replace numbers in a matrix with another number?

18 次查看(过去 30 天)
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 个评论
N/A
N/A 2024-10-29,17:31
移动:Voss 2024-10-29,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 2024-10-29,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>

请先登录,再进行评论。

采纳的回答

Abhijit Nayak
Abhijit Nayak 2022-7-13
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by