我的<一个href="//www.tatmou.com/blogs/cleve/2015/12/21/a-historic-cubic/">以前的文章是关于一个脚注中一个经典的数值分析文本,惠塔克和罗宾逊是奥古斯都•德•摩根的妙语。“我之所以叫$ x ^ 3-2x-5 = 0美元方程是著名的因为它是沃利斯偶然表现出牛顿法首次出版时,由于每一个义务中的数值解算器都觉得他的一个例子。发明了一种数值方法,忽视对这个方程显示它是如何工作的,你是一位朝圣者不进来的小wicket (见j·班扬)。”So, let's try a few numerical solvers on this equation.
“Graffe”root-squaring方法由胚皮埃尔Dandelin独立发明于1826年,1834年尼古拉Lobachevsky,卡尔·海因里希Graffe在1837年。一篇文章由阿尔斯通户主引用下面进入细节谁发明了什么。这个想法是一个多项式的系数转化为另一个零的原始的广场。如果0级很好分离,重复这个过程最终会产生一个高度多项式的前两个条件对主要提供一个好的近似零。手计算方法很受欢迎,但是有严重困难时做一个可靠的自动实现。重复零,复杂的等于0级,尤其是扩展防止浮点数溢出和下溢的都是障碍。但它工作好我们历史性的立方,这有一个简单的占主导地位的零。假设p (x)美元是一个三次多项式。$ $ p (x) = p_1 x ^ 3 + p_2 x ^ 2 + p_3 x + p_4 $ $重新排列方程p (x) = 0美元,这样奇怪的权力的条款x美元一边等号的,甚至是权力。$ $ p_1 x ^ 3 + p_3 x = - (p_2 x ^ 2 + p_4) $ $广场方程两边并收集形成新的多项式,问(x)美元。 $$ q(x) = (p_1 x^3 + p_3 x)^2 - (p_2 x^2 + p_4)^2 $$ $$ = p_1^2 x^6 - (p_2^2 - 2 p_1 p_3) x^4 + (p_3^2 - 2 p_2 p_4) x^2 - p_4^2 $$ The zeros of $q$ are the squares of the zeros of $p$. Here is a function that does the job for cubics.
函数q = graffe (p);% Graffe根平方。q = graffe (p)。% p和q 4-vectors三次曲线的系数。%根(q) =根(p) ^ 2。q = 0(大小(p));q (1) = p (1) ^ 2;问(2)= - (p (2) ^ 2 - 2 * p (1) * p (3));问(3)= p (3) ^ 2 - 2 * p (2) * (4);问(4)= - p (4) ^ 2;结束
让我们试穿历史性多项式$ x ^ 3-2x-5美元。的浮点指数系数每一步很快就翻倍。幸运的是,我们在八个步骤达到我的停止准则。如果我们尝试更多的步骤没有重新调节,我们会溢出。但此时,零的256次方我们完全主宰的权力其他根后,所以的第256根的比例只是第一个系数提供了一个结果,是准确完整的精度。
p = [1 0 2 5];fmt =' % 5.0 f % 5.0克% 13.5 g % 13.5克% 13.5 g % 20.15 f \ n ';流(fmt, 1 p, 0) m = 1;而马克斯(abs (p) <√(最大浮点数)m = 2 * m;p = graffe (p);z = (- p(2) /(1)页)。^ (1 / m);流(fmt, m, p, z);结束
1 1 0 2 5 0.000000000000000 - 2 1 4 4 -25 1.681792830507429 2.000000000000000 - 4 1 8 -184 -625 8 -432 23856 -3.9063 e + 05年16 1 -1.3891 2.135184796196703 2.3161 e + e + 05年08年-1.5259 e + 11 2.096144583759898 32 1 -2.3283 -1.8833 1.125 e + e + 10 16 e + 22 64 1 -3.5467 2.094553557477412 -5.421 e + 20 -7.5043 e + 32 e + 44 128 1 -1.2579 2.094551481347086 -2.9387 e + e e + 1.7861 + 41 65 89 256 2.094551481542327 82 -4.2032 -1.5824 e + e + e + 178 -8.6362 130 2.094551481542327
评论
留下你的评论,请点击<一个href="//www.tatmou.com/blogs/login?uri=/cleve/2016/01/04/testing-zero-finders/">在这里MathWorks账户登录或创建一个新的。