【发布时间】:2013-08-30 13:51:27
【问题描述】:
变量 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”条件,如果可能,象征性地。但数字替代方案也会很有趣。
【问题讨论】:
-
您的意思是:
|x-y|<=min对应 x 和 y 的每个值?另外,不要在matlab中使用min作为变量名,因为你会重载相应的函数。此外,我没有看到您试图解决问题的任何部分。你能详细说明一下吗? -
它不是一个变量,而是一个数学语法。应尽量减少。这里也没有matlab代码。我刚刚描述了我的问题。我想用给定的 x 找到(接近的)y 值
标签: matlab math optimization symbolic-math nonlinear-optimization