我有一个方程式,我想简化以便检索解决方案。但这个等式包含绝对值。怎么可以更简化?
d = abs(X²-vs²)/2*a1 + abs(vf²-X²)/2*a2
abs 是括号内的值的绝对值
X 是未知的,我们知道 d,vs,a1,vf 和 a2
所以最后方程式为X = ....
答案 0 :(得分:2)
解决方案是解决以下4个方程:
然后看看哪些解与初始方程兼容。
答案 1 :(得分:2)
主要想法是使用条件将一个 abs(A) ... = 0
等式重写为2
:
abs(A) ... = 0
等于
A ... = 0 when A >= 0
-A ... = 0 when A < 0
在你的情况下,我们可以将初始方程转换为 3 。我们假设
vs**2 < vf**2
所以我们有 3 个案:
X <= vs so abs(X**2 - vs**2) = -(X**2 - vs**2) ; (vf**2 - X**2) = vf**2 - X**2
vs < X <= vf so abs(X**2 - vs**2) = X**2 - vs**2 ; (vf**2 - X**2) = vf**2 - X**2
vf < X so abs(X**2 - vs**2) = X**2 - vs**2 ; (vf**2 - X**2) = -(vf**2 - X**2)
Ans我们有三个易于求解的方程式,条件为X
:
d = -(X**2 - vs**2) / 2 / a1 + (vf**2 - X**2)/2 * a2 when X <= vs
d = (X**2 - vs**2) / 2 / a1 + (vf**2 - X**2)/2 * a2 when vs < X <= vf
d = (X**2 - vs**2) / 2 / a1 - (vf**2 - X**2)/2 * a2 when vf < X
解决所有问题,但当且仅当符合条件时才取X
。如果您vs**2 > vf**2
3
有一些不同的条件:
X <= vf
vf < X <= vs
vs < X
和等式将是
d = -(X**2 - vs**2) / 2 / a1 + (vf**2 - X**2)/2 * a2 when X <= vf
d = -(X**2 - vs**2) / 2 / a1 - (vf**2 - X**2)/2 * a2 when vs < X <= vf
d = (X**2 - vs**2) / 2 / a1 - (vf**2 - X**2)/2 * a2 when vf < X
答案 2 :(得分:1)
根据定义:
abs(x)= x如果x> = 0,&amp;
-x如果x <= 0
所以将这个等式变成4个等式,对于每个abs项的正或负的所有组合,即+ +,+ - , - +, - -
解决四个方程式中的每一个,并在将答案插回到abs项后丢弃任何不满足关于该特定方程式的abs项的符号假设的解。任何满足绝对符号假设的剩余解决方案都是实际答案。