140 likes | 379 Views
第五节 用 Mathematica 解 方程. Solve[ f[x]= =0,x] DSolve[degn,y[x],x]. 5.1 Mathematica 用于解方程的命令:. 1、 Solve[f[x]= =0,x] 2、 Nsolve[f[x]==0,x] 3、 Roots[f[x]==0,x] 4、 Reduce[f[x]==0,x] 5、 FindRoot[f[x]==0,{x,x0}] 6、 FindRoot[f[x]==0,{x,x0,x1}]. 例 1 解方程. 解:. Nsolve[f[x]==0,x ].
E N D
第五节 用Mathematica解方程 Solve[ f[x]= =0,x] DSolve[degn,y[x],x]
5.1 Mathematica用于解方程的命令: • 1、Solve[f[x]= =0,x] • 2、Nsolve[f[x]==0,x] • 3、Roots[f[x]==0,x] • 4、Reduce[f[x]==0,x] • 5、FindRoot[f[x]==0,{x,x0}] • 6、FindRoot[f[x]==0,{x,x0,x1}]
例1解方程 解:
Nsolve[f[x]==0,x ] • 对于5次及5次以上的方程已经没有公式解 • Solve[ ]只能给出以Roots表示的抽象解 • 这时改用Nsolve[ ]能求出近似值。
例3求五次方程的根 只能得出符号解 改用Nsolve[ ]可以得到近似解
5.1.3 Roots[ ] • Roots的用法有所区别,其输出的结果是逻辑表达式。 结果是两个逻辑表达式的”或”.为了转化成x→a的形式,可以用ToRules函数。
5.1.4 Reduce[ ] • Reduce函数给出方程的全部解。 • Reduce函数详细讨论了各种可能的情况,而Solve只考虑了a≠0的一种情况。
5.1.5 切线法FindRoot[ eqn,{x,x0}] • 对于没有初等函数解的方程,Solve 可能解不出来,这时用FindRoot求函数的近似解。用FindRoot[egn,{x,x0}]时Mathematica是根据牛顿迭代法求根的近似值。因此初值x0要选择的与真值不太远。
注意,用以上的方法得到的解是形式解的集合,不能直接在以后的运算中使用,如果希望在计算中使用方程的根,可以将这些形式根的值存入一个表中,表中的元素就可以带入各种的表达式中去进行计算了。注意,用以上的方法得到的解是形式解的集合,不能直接在以后的运算中使用,如果希望在计算中使用方程的根,可以将这些形式根的值存入一个表中,表中的元素就可以带入各种的表达式中去进行计算了。
5.1.6 割线法FindRoot[eqn,{x,x0,x1}] 如果用牛顿法求不出根,则用割线法求近似值。割线法的命令格式为 FindRoot[eqn,{x,x0,x1} ] 其中(x0,x1)为根的间隔区间。即在该区间里有且仅有方程的一个根。
例6求方程 的根。 系统提示出错,并给出一个并不存在的根。