第五节用Mathematica解方程(课件).ppt
文本预览下载声明
第五节 用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要选择的与真值不太远。 例6 求解方程 注意,用以上的方法得到的解是形式解的集合,不能直接在以后的运算中使用,如果希望在计算中使用方程的根,可以将这些形式根的值存入一个表中,表中的元素就可以带入各种的表达式中去进行计算了。 5.1.6 割线法FindRoot[eqn,{x,x0,x1}] 如果用牛顿法求不出根,则用割线法求近似值。割线法的命令格式为 FindRoot[eqn,{x,x0,x1} ] 其中(x0,x1)为根的间隔区间。即在该区间里有且仅有方程的一个根。 例6 求方程 的根。 系统提示出错,并给出一个并不存在的根。 谢谢使用!
显示全部