请问FindMinimum,NMinimize的约束条件可以使分段函数么?
mathematica吧
全部回复
仅看楼主
level 4
我试了一下用if和Piecewise构造分段函数,用FindMinimum,NMinimize求最小值都没有结果,是最优化函数本身不支持分段函数,还是我的代码出了问题
2019年01月19日 06点01分 1
level 4
\[Epsilon] = 0.01;
a = 0
act = 1.5
\[Lambda]1 = 0;
f1 = 1;
f22[t] = Piecewise[{{0,
Abs[(x2[t] - x1[t])] <=
b}, {c*(x2[t] - x1[t] - (x2[t] - x1[t])/Abs[x2[t] - x1[t]]),
Abs[(x2[t] - x1[t])] > b}}];
f21[t] = Piecewise[{{0,
Abs[(x2[t] - x1[t])] <=
b}, {c*(x1[t] - x2[t] - (x1[t] - x2[t])/Abs[x1[t] - x2[t]]),
Abs[(x2[t] - x1[t])] > b}}];
FindMinimum[{t, \[Epsilon]*a == \[Epsilon]*\!\(
\*SubscriptBox[\(\[PartialD]\), \({t, 2}\)]\(x2[
t]\)\) + \[Epsilon]*\[Lambda]2*(D[x2[t], t] -
D[x1[t], t]) + \[Epsilon]*f22[t],
a == D[x1[t], {t, 2}] + \[Lambda]1*D[x1[t], t] +
f1*x1[t] + \[Epsilon]*\[Lambda]2*(D[x1[t], t] -
D[x2[t], t]) + \[Epsilon]*f21[t],
0.5*f1*x1[t]^2 + 0.5*Derivative[1][x1][t]^2 - 0.01 ==
0}, { \[Lambda]2, 0.1}, {b, 1}, {c, 1.5}]
2019年01月19日 06点01分 2
……这几个求极值的函数并不能直接处理微分方程。还有,你确定这个微分方程组的t有极小值吗?
2019年03月02日 07点03分
level 1
你是要vp吗,你设置了陌生人无法回复信息
2019年05月26日 12点05分 3
1