使用Jenkins-Traub算法找到多项式根源。MEX函数使用来自ACM算法419的CPOLY算法,用于多项式具有复合系数的多项式,以及来自ACM算法493的RPOLY算法,用于具有实际系数的多项式。该算法计算多项式的所有零,其系数是递减功率顺序的矢量的元素。丢弃系数中的主要零。
IVO Houtzager(2021)。与Jenkins-Traub算法的多项式根源(https://github.com/iwoodsawyer/polyroots/releases/tag/v1.3.0.2),github。检索到。
似乎在包括VS2013 MATH.H文件时,“ABS”是双重定义的。从f2c.h中删除线166或用/ ** /包裹。这将使错误消失。
当我尝试运行make_polyroots.m时,我收到以下错误:
使用mex时出错
rpoly.c.
C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ vc \ include \ math.h(470):错误C2059:语法错误:'('
make_polyroots错误(第55行)
eval([mex',compile_options,'polyroot.c','rpoly.c','pow_di.c');
任何建议吗?