0

变量 y 可以取一个在定义范围内的值:

3<y<5

y 的值应该通过引入一个约束来确定,例如

|x-y|=min

x 是给定的,应该扫描更大的范围,例如:

x:=-1000:1:1000

如何找到给定 x 的确切 y 值?

我认为的结果是:

x     y
-1000 3
.     3
.     3
2.9   3
3     3
3.1   3.1
4     4
5     5
6     5
7     5
.     5
.     5
1000  5

这意味着我想允许更大的“错误”,但在 3 到 5 之间,它应该以一个非常小的错误来解决,这样我就可以尽可能地解决这个区域。

在 Matlab 中实现这样的东西的最佳方法是什么?没有“IF”条件,如果可能,象征性地。但数字替代方案也会很有趣。

4

1 回答 1

3

根据您的评论和示例,我认为您只是在寻找这个:

x = -10:0.1:10 %Suppose this is your x

y = max(min(x,5),3) %Force it between 3 and 5 by rounding up or down respectively
于 2013-08-30T14:07:26.780 回答