基本操作

 Solve[expr,vars]
试图求解以 vars 为变量的方程组或不等式组 expr.

Solve[expr,vars,dom]
在定义域 dom 上求解. dom 的常用选择为 Reals、Integers 和 Complexes.

mathematics怎么解多元方程组 mathematica解方程组步骤_Mathematica

这里需要指出的是是否需要指出待求变量。

如果只有一个变量要求的话,其实是可以不指定变量的,比如

mathematics怎么解多元方程组 mathematica解方程组步骤_解方程_02


但如果有多个变量,则会默认将其中一个作为变量

mathematics怎么解多元方程组 mathematica解方程组步骤_帮助文档_03

指定解范围

如果想求某个范围的解,此时加一个不等式即可,MMA将之认为是一个方程组。

用花括号{}括起来或者用&&链接均可。

mathematics怎么解多元方程组 mathematica解方程组步骤_解方程_04

求解包含特殊函数的方程

遇到这个问题最初是要求方程
mathematics怎么解多元方程组 mathematica解方程组步骤_帮助文档_05 其中mathematics怎么解多元方程组 mathematica解方程组步骤_解方程_06 为第一类合流超几何函数(Confluent Hypergeometric Function of the First Kind),相关介绍可参考特殊函数相关教材或者Wolfram MathWorld网页。这个函数在matlab中用hypergeom(a,b,z)表示(注意不是kummerU(a,b,z)函数)。
但在用MMA对其进行求解的时候却遇到了一系列问题。

1、存在反函数、系数不精确

mathematics怎么解多元方程组 mathematica解方程组步骤_mathematics怎么解多元方程组_07


对于系数不精确的问题,是要把1.5换成3/2,这点之前确实没注意过。2、存在反函数、无法求解

把1.5换成3/2

mathematics怎么解多元方程组 mathematica解方程组步骤_帮助文档_08


3、正解

需要指定解的范围。用Solve或Nsolve均可。

mathematics怎么解多元方程组 mathematica解方程组步骤_mathematics怎么解多元方程组_09

Solve函数可能出现的问题

关于Solve函数可能存在的问题,帮助文档中也给出了说明。

这里列出部分,完整的还请参看帮助文档。

mathematics怎么解多元方程组 mathematica解方程组步骤_mathematica_10


mathematics怎么解多元方程组 mathematica解方程组步骤_帮助文档_11

2、Reduce函数

还是优先参考帮助文档。
下面内容参考丁大正《Mathematica基础与应用》2.1.4节。

  • Solve[eqns,vars]对系数按常规约定求出方程(组)的全部解。
  • Reduce[eqns,vars]讨论系数出现的各种可能情况,分别求解。

书中还有更多详细内容。

3、Root、FindRoot、Nsolve、Reduce等函数

之后更新
一般来讲FindRoot应该是适用于更复杂的函数。
Nsolve是求数值解。

4、DSolve、RSolve等函数

用 DSolve 求解微分方程

mathematics怎么解多元方程组 mathematica解方程组步骤_解方程_12

用 RSolve 求解递归方程

mathematics怎么解多元方程组 mathematica解方程组步骤_mathematics怎么解多元方程组_13