符号计算,Solve函数没有解
mathematica吧
全部回复
仅看楼主
level 1
求使得 f[x1_] 与 f[x3_] 相等的 α 的表达式
In[6]:= x1=(v+c)/2
Out[6]= (c+v)/2
In[7]:= f[x1_]=(n(x1-c)(v-x1))/v
Out[7]= (n (1/2 (-c-v)+v) (-c+(c+v)/2))/v
In[8]:= Simplify[(n (1/2 (-c-v)+v) (-c+(c+v)/2))/v]
Out[8]= (n (c-v)^2)/(4 v)
In[9]:= x3=(v+c+\[Alpha]\[Theta](1-k)(p+c))/2[1+\[Alpha]\[Theta](1-k)]
Out[9]= (c+v+(1-k) (c+p) \[Alpha]\[Theta])/2[1+(1-k) \[Alpha]\[Theta]]
In[10]:= f[x3_]=(n (x3-c)[(v-x3)+\[Alpha]\[Theta](1-k)(p-x3)])/v
Out[10]= (n (-c+(c+v+(1-k) (c+p) \[Alpha]\[Theta])/2[1+(1-k) \[Alpha]\[Theta]])[v+(1-k) \[Alpha]\[Theta] (p-(c+v+(1-k) (c+p) \[Alpha]\[Theta])/2[1+(1-k) \[Alpha]\[Theta]])-(c+v+(1-k) (c+p) \[Alpha]\[Theta])/2[1+(1-k) \[Alpha]\[Theta]]])/v
2020年04月21日 08点04分 1
吧务
level 10
首先你的f[x1_]这种用法是不必要的,再就是这个方程过于复杂,mma给不了解析解。
2020年04月21日 14点04分 2
level 3
有几个问题:
1. In[10]: 中中括号 [ ] ,应该是有问题的,mma中 中括号只用于函数,运算优先级只用圆括号()
2. 没必要用 f [x1_]或 f[x3_], x1_表示一个命名为x1的模式,详情可以在帮助里搜索:SetDelayed。这里看你代码应该不是这个意思。你这里应该直接写fx1就可以了。
3.In[9]: 中 \[Alpha]\[Theta] 之间应有空格: \[Alpha] \[Theta],否者会被理解成一个符号。
4. In[9]: 中 分母少个圆括号 ()。
在改正上面这些问题后,你就会发现,能解了。代码如下:
x1 = (v + c)/2;
fx1 = (n (x1 - c) (v - x1))/v // FullSimplify;
x3 = (v +
c + \[Alpha] \[Theta] (1 - k) (p +
c))/(2 (1 + \[Alpha] \[Theta] (1 - k)));
fx3 = (n (x3 - c) ((v - x3) + \[Alpha] \[Theta] (1 - k) (p - x3)))/v //
FullSimplify;
Solve[fx1 == fx3, \[Alpha]]
结果为:
2020年04月23日 13点04分 4
1