How do I limit the values in an array?

410 次查看(过去 30 天)
This should be an easy one.
If I have an array with...
0.203 0.506 0.167 0.904 1.671 5.247 0.037 0.679
How do I amend the individual values within the array that are greater than 1 and set them to 1?
e.g.
0.203 0.506 0.167 0.904 1.000 1.000 0.037 0.679
Thanks!

采纳的回答

ES
ES 2017-7-12
>> a = [0.203 0.506 0.167 0.904 1.671 5.247 0.037 0.679];
>> a(a>1)=1

更多回答(1 个)

Jan Siegmund
Jan Siegmund 2020-5-27
编辑:Jan Siegmund 2020-5-27
There is also a matlab function doing this:
A = min(A,1);
It takes A if A is the minimum of the two and 1 if 1 is the minimum of the two.
  2 个评论
Tim Kuipers
Tim Kuipers 2020-11-30
That doesn't work if A is an array. It gives an error
Walter Roberson
Walter Roberson 2020-11-30
min(randn(3,3),1) works fine when I test it. Perhaps you accidentally defined min as a variable

请先登录,再进行评论。

类别

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

产品

Community Treasure Hunt

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

Start Hunting!

Translated by