将minimize的范围限制在一些条件之内的方法
mathematica吧
全部回复
仅看楼主
level 6
sgylvqº 楼主
minimize总是忽略假设条件,只能在无假设的所有情况下算出结果,再化简,导致运行长达15秒
2021年02月27日 13点02分 1
level 6
sgylvqº 楼主
Assuming[a > 0 && b > 0 && \[Sigma]1 > 0 && \[Sigma]2 > 0,
Minimize[EuclideanDistance[{0, 0}, {x, y}],
a x + b y + Sqrt[a^2 \[Sigma]1^2 + b^2 \[Sigma]2^2] == 0, {x,
y}]] // Timing
2021年02月27日 13点02分 2
Assuming 是不会起作用的,因为这个函数只对具备 Assumptions 选项的函数有效,而Minimize(截止目前)没有这个选项。想让Minimize考虑这些假设只有一个办法,那就是把它们作为“限制”一起塞进Minimize里面。之后Minimize会秒出结果。
2021年03月06日 03点03分
好吧很多函数都没有这个选项[委屈]
2021年05月08日 03点05分
level 6
sgylvqº 楼主
2021年02月27日 13点02分 3
level 6
sgylvqº 楼主
不化简的输出直接占了一页的空白,是什么原因?
2021年02月27日 13点02分 5
第二个问题
2021年02月27日 13点02分
……不是空白。你把滚动条往右移下。
2021年03月06日 03点03分
或者把页面缩到50%。
2021年03月06日 03点03分
level 6
sgylvqº 楼主
以上代码是为了找点到直线距离,找了好久没找到点到直线距离的自带函数,是真的没有吗
2021年02月27日 13点02分 6
第三个问题
2021年02月27日 13点02分
RegionDistance: RegionDistance[ ImplicitRegion[a x + b y + Sqrt[a^2 \[Sigma]1^2 + b^2 \[Sigma]2^2] == 0, {x, y}], {0, 0}]
2021年03月06日 03点03分
1