用mathematica求解方程Solve[8 Cos[0.5x] - 4x Sin[0.5x] == 0, x] 出不来答案,是咋么回事显示Solve::tdep: The equations appear to involve the variables to be solved for in an essentially non-algebraic way. >>

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 07:26:35

用mathematica求解方程Solve[8 Cos[0.5x] - 4x Sin[0.5x] == 0, x] 出不来答案,是咋么回事显示Solve::tdep: The equations appear to involve the variables to be solved for in an essentially non-algebraic way. >>
用mathematica求解方程Solve[8 Cos[0.5x] - 4x Sin[0.5x] == 0, x] 出不来答案,是咋么回事
显示Solve::tdep: The equations appear to involve the variables to be solved for in an essentially non-algebraic way. >>

用mathematica求解方程Solve[8 Cos[0.5x] - 4x Sin[0.5x] == 0, x] 出不来答案,是咋么回事显示Solve::tdep: The equations appear to involve the variables to be solved for in an essentially non-algebraic way. >>
Solve和NSolve都是求解多项式方程的,对于大多数超越方程来说,只能用迭代法或者割线法求解,此时要用FindRoot函数.
用Plot[8 Cos[0.5 x] - 4 x Sin[0.5 x] == 0,{x,-20,20}]可以看出,这个方程应该有无数个根,看你需要的是哪一个.比如从图像上看,在2附近有一个根且比2小,如果这正是你需要的,可以运行
FindRoot[8 Cos[0.5 x] - 4 x Sin[0.5 x] == 0,{x,2}]
或者
FindRoot[8 Cos[0.5 x] - 4 x Sin[0.5 x] == 0,{x,1,2}]
前者用的迭代法,后者用的割线法.运行结果都为
{x -> 1.72067}
想要更高的精度可以通过调整机器计算精度实现.
其他位置的根情况类似.

楼上解释的真TM详细....这问题还TM是没有悬赏的!