返回列表 回复 发帖
226# changxde

不知常老师制作一元三次方程的解的思路是什么。我用的是卡尔丹的作法:1.制作一元三次方程x^3+px+q=0的根工具。2.制作方程x^3+bx^2+cx+d=0的根工具。但在用卡尔丹的解法时,有两种情况要作特殊的处理,第一点是解出u之后,接下求v,然后再配对就出现了问题,一共有九对,而根据uv=-p/3这个条件,只有三对可用,这种选择造成了直接应用的麻烦,我的处理是求出u之后,直接用-p/3/u,第二个难点就出现了,有时候u的值可能为零,这时就出现了未定义,需要补充定义,当u=0时,把u+r',其中r=sgn(xp^2+yp^2),r'=sgn(1-r),此时方程的根就变得简单了,因为方程实质上成了x^3=-q,只需求出-q 的三个三次方根最终根的表达式为x1,2,3=(u1,2,3+(-p/3)/(u+r'))*r+r'*三次根号(-q).
谢谢常老师的细心测试,确实有此问题,但系数不能设置太大,因为画板的精度和溢出值决定,如果系数设置太大,再加上复数的运算误差的积累结果就无法保证其有效性。一元四次方程的解有两个先决工具:一元二次方程的解和一元三次方程的解,一元二次方程的解问题不大,关键是一元三次方程的解工具。而一元三次方程的解工具依赖于一元三次方程x^3+px+q=0的解工具。下面的WORD文档是关于这个最基本的一元三次方程的解的推导,请大家看看这里的逻辑推理还有哪里不严密,如果推导过程没问题,那做出来的工具如果还无法保证解的有效性,那只能说是软件本身的问题了。非常遗憾,这里无法上传word文档,只好把相关的推导放在我的博客里了。http://user.qzone.qq.com/4221612 ... &pos=1339943373[/url]
[attach]17729[/attach] 231# changxde [/b
这个文件可以保证上d=3000时的正确性,但无法保证系数非常大时解的有效性。
文件所示的是d=10^10时的情况。误差非常大,但解法我找不出问题,我想也有可能是软件本身的问题。
233# xuefeiyang


我验证了一下常老师的一元四次解的工具,发现当系数取值非常大时,误差同样也很大,这到底是误差的积累还是其它原因?请会用其它能进行复数运算的板友测试一下,到底是什么原因?
一元四次方程的解问题.gsp (49.1 KB)
返回列表