在matlab中约束值

3 matlab constraints

如果我在matlab中有一个简单的数组,请说:

a = [0 1 2 3 4 5 6 0 0]
Run Code Online (Sandbox Code Playgroud)

我如何约束该数组中的值(例如,如果我希望最大值为1,那么要到达:

a = [0 1 1 1 1 1 1 0 0]
Run Code Online (Sandbox Code Playgroud)

最简单,最有效的方法是什么?

tmp*_*rce 6

a(a>1) = 1;
Run Code Online (Sandbox Code Playgroud)

这会做你所要求的......你可以按照相同的模式来处理其他约束.

编辑:评论者是正确的,修复.

  • 这几乎是正确的答案,但它应该是'a(a> 1)= 1;` (3认同)