您的当前位置:首页正文

mathematica教程之3.2方程

2023-06-05 来源:步旅网
3.2方程及其根的表示 因为Mathematica把方程看作逻辑语句。在数学方程式表示为形

如“x-2x+1

2

=0”的形式。在Mathematica中“=”用作赋值语句,这样在Mathematica

中用“==”表示逻辑等号,则方程应表示为“x^2-2x+1==0” 。方程的解同原方程一样被看作是逻辑语句。例如用Roots求方程x^2-3x+2的根显示为

这种表示形式说明x取1或2均可。而用Solve[]可得解集形式。

1求解一元代数方程

给出方程的解集 下面是常用的一些方程求解函数

Solve[lhs==rhs,vars] NSolve[lhs==rhs,vars]Roots[lhs==rhs,vars]直接给出方程的数值解集 求表达式的根 FindRoot[lhs==rhs,{x,x0} 求x=x0时,方程的解值 先看Solve函数例子

Solve函数可处理的主要方程是多项式方程。Mathematica总能对不高于四次的方程进行精确求解,对于三次或四次方程,解的形式可能很复杂。

例如求x3

+5x+3=0

这时可用N函数近似数值解.

当方程中有一些复杂的函数时,Mathematica可能无法直接给出解来。在这种情况下我们可用FindRoot[]来求解,但要给出起始条件。

例如:求3Cosx=logx的解

但只能求出x=1附近的解,如果方程有几个不同的解,当给定不同的条件时,将给出不同的解。如上例若求x=10附近的解命令为:

因此确定解的起始位置是比较关键,一种常用的方法是,先绘制图形观察后再解

如上例通过图形可断定在x=5附近有另一根

2.求方程组的根

使用Solve和NSolve,FindRoot也可求方程组的解,只是使用时格式略有不同下面给出一个Solve函数的例子:

求解:

3求方程的全解 如果我们求ax+bx+c=0

2

的根我们用Solve函数解的结果是:

这显然是不合理的,因为对不同的a,b,c方程的解有不同的情况,而上面只是给出部分解如果要解决这个问题可用Reduce命令,它可根据,a,b,c的取值给出全部值。

因此Solve,Roots只给出方程的一般解,而Reduce函数数可以给出方程的全部可能解。

4.解条件方程

在作方程计算时,可以把一个方程看作你要处理的主要方程,而把其他方程作为必须满足的辅助条件,你将会发现这样处理很方便。譬如在求解像时,通常我们采用

的代换方法使求解方程

这样的方程

得到简化。在Mahematica中,我们通常是首先命名辅助条件组,然后用名字把辅助条件包含在你要用函数Solve[] 求解的方程组中。

用Sc定义方程:,在这种条件下,求解方程。

因篇幅问题不能全部显示,请点此查看更多更全内容