level 1
本人用Module写了一个模块ComputeIds,然后尝试用NMinimize函数求局部最小值:
NMinimize[ComputeIds@x, {x, 22, 24}]
返回结果:
{0.801849, {x -> 0}}
可见,这里x的取值并未按照 {x, 22, 24}的限定范围来取,这是为什么?
另外,如果把x替换为"t",“z”等其他字母符号,比如:
NMinimize[ComputeIds@t, {t, 22, 24}]
会返回一大堆提示信息,算不出结果。
2018年07月04日 12点07分
1
吧务
level 15
因为这个语法的作用压根就不是限制求解范围,而是给出两个起始猜想。使用三个点的语法{x,Subscript[x, start],Subscript[x, min],Subscript[x, max]}才可以限制住范围——或者直接在NMinimize的第一个参数里用不等式给出限制。具体参看NMinimize的帮助。
2018年07月07日 06点07分
16