当前位置: 首页>>代码示例>>C++>>正文


C++ Polynomial::qiudiao方法代码示例

本文整理汇总了C++中Polynomial::qiudiao方法的典型用法代码示例。如果您正苦于以下问题:C++ Polynomial::qiudiao方法的具体用法?C++ Polynomial::qiudiao怎么用?C++ Polynomial::qiudiao使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Polynomial的用法示例。


在下文中一共展示了Polynomial::qiudiao方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: findAllRoots

    static vector<long double> findAllRoots(const Polynomial & f)
    {
        vector<long double> ret;
        Polynomial f_ = f.qiudiao();

        long double minRoot = -200.0;
        long double maxRoot = 200.0;

        for (int iter = 0; iter <= 1000; ++iter)
        {
            //cout << iter << endl;
            long double x0 = (long double) rand() / (long double) RAND_MAX;
            x0 = minRoot + (maxRoot - minRoot) * x0;
            long double root;
            bool findRoot = newton_root(x0, f, f_, root);

            if (findRoot)
            {
                bool newroot = true;
                for (int i = 0; i < ret.size(); ++i)
                    if (fabs(ret[i] - root) < bigeps)
                        newroot = false;

                if (newroot)
                {
                    int multi = findRootMultiple(root, f);
                    vector<long double> newroots(multi, root);
                    ret.insert(ret.end(), newroots.begin(), newroots.end());
                }
            }
        }

        sort(ret.begin(), ret.end());
        return ret;
    }
开发者ID:pigoneand,项目名称:windoflife,代码行数:35,代码来源:Polynomial.cpp

示例2: findRootMultiple

 // after we find a root of a polynomial, use this method to determine its multiple
 static int findRootMultiple(long double x, const Polynomial & f)
 {
     int ret = 1;
     Polynomial now = f;
     double zeroeps = 1e-6;
     while (true)
     {
         now = now.qiudiao();
         if (now.coff.size() == 0) break;
         long double nowf = now.func(x);
         if (fabs(nowf) < zeroeps) ret++;
         else 	break;
         zeroeps *= 4;
     }
     return ret;
 }
开发者ID:pigoneand,项目名称:windoflife,代码行数:17,代码来源:Polynomial.cpp


注:本文中的Polynomial::qiudiao方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。