用mathematica求解方程Solve[8Cos[0.5-查字典问答网
分类选择

来自李俊兵的问题

  用mathematica求解方程Solve[8Cos[0.5x]-4xSin[0.5x]==0,x]出不来答案,是咋么回事显示Solve::tdep:Theequationsappeartoinvolvethevariablestobesolvedforinanessentiallynon-algebraicway.>>

  用mathematica求解方程Solve[8Cos[0.5x]-4xSin[0.5x]==0,x]出不来答案,是咋么回事

  显示Solve::tdep:Theequationsappeartoinvolvethevariablestobesolvedforinanessentiallynon-algebraicway.>>

1回答
2020-05-3001:47
我要回答
提示:回答问题需要登录哦!
马喜宏

  Solve和NSolve都是求解多项式方程的,对于大多数超越方程来说,只能用迭代法或者割线法求解,此时要用FindRoot函数.

  用Plot[8Cos[0.5x]-4xSin[0.5x]==0,{x,-20,20}]可以看出,这个方程应该有无数个根,看你需要的是哪一个.比如从图像上看,在2附近有一个根且比2小,如果这正是你需要的,可以运行

  FindRoot[8Cos[0.5x]-4xSin[0.5x]==0,{x,2}]

  或者

  FindRoot[8Cos[0.5x]-4xSin[0.5x]==0,{x,1,2}]

  前者用的迭代法,后者用的割线法.运行结果都为

  {x->1.72067}

  想要更高的精度可以通过调整机器计算精度实现.

  其他位置的根情况类似.

2020-05-30 01:51:02
大家都在问
最新问答