用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-30 01: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

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •