定义了一个分段函数,然后又定义了两个含此分段函数的函数,要通过 后两个函数的定点的函数值求出变量,求不出来呢,为什么?
而人工对分段函数的值进行判断后代入,可求解,有什么办法能直接让电脑求出解? 求指点
详见下图,黑框部分为人工将分段函数求解后代入时的求解过程
![Mathematica中含分段函数的方程组求解出表达式]()
分段函数的求解.png
代码如下:
f[x_] := x*Boole[x > 0]
fx[x_, i_] := -qx*f[x] + \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(u = 1\), \(i\)]\((
\*SubscriptBox[\(rx\), \(u\)]*
\*SuperscriptBox[\(f[x -
\*UnderoverscriptBox[\(\[Sum]\), \(v = 1\), \(u\)]
\*SubscriptBox[\(lx\), \(v\)]]\), \(0\)])\)\)
mx[x_, i_] := -(qx/2)*f[x]^2 + \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(u = 1\), \(i\)]\((
\*SubscriptBox[\(rx\), \(u\)]*
\*SuperscriptBox[\(f[x -
\*UnderoverscriptBox[\(\[Sum]\), \(v = 1\), \(u\)]
\*SubscriptBox[\(lx\), \(v\)]]\), \(1\)])\)\)
Solve[{fx[lx, 2] == 0, mx[lx, 2] == 0, lx > 0, Subscript[lx, 1] > 0,
Subscript[lx, 2] > 0,
lx > Subscript[lx, 1] + Subscript[lx, 2]}, {Subscript[rx, 1],
Subscript[rx, 2]}]
分段函数人工代入后的代码:
Solve[{-lx qx + Subscript[rx, 1] + Subscript[rx, 2] ==
0, -(1/2) lx^2 qx + (lx - Subscript[lx, 1]) Subscript[rx,
1] + (lx - Subscript[lx, 1] - Subscript[lx, 2]) Subscript[rx,
2] == 0}, {Subscript[rx, 1], Subscript[rx, 2]}] |