Mathematica 解方程组 (数字方程组&含表达式的方程组)
1. 数字方程组
参考自带例程:
这里是具有两个未知量的简单线性方程:
Solve[{a x + b y == 1, x - y == 2}, {x, y}]
- 不是线性方程也可以解。
- 如果输出是空,如下
- In[2]:= Solve[{l1 + lm == k1, l2 + lm == k2, l1 + (l2 lm/(l2 + lm)) == k3, l2 + (l1 lm/(l1 + lm)) == k4}, {l1, l2, lm}]
- Out[2]={}
- 原因是输入的方程数多于所需的方程数,如图中三个未知量给了四个方程。删除一个方程后可以正常求解。
2. 含表达式的方程组
解含表达式的方程组,可能最常见的应用是化简方程组,即通过代入求解的方法得到关于某两个表达式之间的关系。以下面这个例子为例:
假设我们的目的整理上述方程组中的表达式,化简求得
I
2
I_2
I2 和
V
e
q
V_{eq}
Veq之间的关系。
这个问题可以看做两个方程联立,消除
I
1
I_1
I1。
- 用Eliminate函数:
Eliminate[
Veq == (I x1 + r1) i1 - I w M i2 && 0 == (I x2 + r2) i2 - I w M i1 + req i2, i1]
其中:I 是虚数。即方程组中的 j 。
刚接触Mathematica的朋友请注意,变量名之间的空格可以代替*号,接近自然语言书写。
- 运行得到:
i2 (-I r1 r2 - I r1 req - I M^2 w^2 + r2 x1 + req x1 + r1 x2 + I x1 x2) == M Veq w
- 使用Solve函数整理参数:
Solve[i2 (-I r1 r2 - I r1 req - I M^2 w^2 + r2 x1 + req x1 + r1 x2 + I x1 x2) == M Veq w, i2]
- 运行得到
即求得 I 2 I_2 I2 和 V e q V_{eq} Veq之间的关系。