How to change the value of the certain elements in a matrix
19 次查看(过去 30 天)
显示 更早的评论
Hi all, I want to change elements in an array inside of a matrix. I want all the elements that are less than 5 to be 0. For example
example = 4 8
7 2
2 9
5 3
I want this matrix to be:
0 8
7 2
0 9
5 3
0 个评论
采纳的回答
Hernia Baby
2022-6-20
编辑:Hernia Baby
2022-6-20
example = [4 8;7 2;2 9;5 3]
idx = example(:,1) < 5
example(idx) = 0
If you want to change all elements which is less than 5 to 0,
example = [4 8;7 2;2 9;5 3];
idx = example < 5
example(idx) = 0
更多回答(1 个)
Image Analyst
2022-6-20
example = [4 8
7 2
2 9
5 3];
mask = example < 5;
example(mask) = 0
I'm not sure why one of the 2's stayed in your example (since it's less than 5) but to keep all the 2's, you'd do
example = [4 8
7 2
2 9
5 3];
mask = example < 5 & example > 2;
example(mask) = 0
Of course you could do it all in one line of code if you combine things:
example(example < 5 & example > 2) = 0;
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Multidimensional Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!