y = tan(x) - x
已知y的值,要求x,x和y都要精确到小数点后8位,用for()循环太慢,而且超过0.65以上的数值极慢,怎样变成能更快的求值?

解决方案 »

  1.   

    高中的数学问题,忘记了#region 广告开始  CSDN小助手 V2.5,更快、更爽、更方便的浏览CSDN论坛!
      界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
      下载:http://szlawbook.com/csdnv2***
      我们每回答一个问题,
      就谋杀了提问者一个思考的机会,
      而这个思考的机会可能让他获得10倍的知识,
      所以,我们不下地狱谁下地狱?
    ***#endregion
      

  2.   

    去看看数值计算的书。tan(x)是周期函数,解可能有无数个,只计算一个周期内的,二分可不可以。在[0,pi]内取中点,计算tan(x)-x的值,如果大于y则将区间变成前半区间[0,pi/2],否则变成[pi/2,pi]反复进行直到计算的值和y的差小于可接受的值。
      

  3.   

    同意 zhy0101(香蕉), 用二分法试试。不过可能只有一个解
      

  4.   

    有一个Extreme.Optimization.Mathematics.Library
    http://www.extremeoptimization.com/mathematics/default.aspx不知道速度能不能快一点?