返回列表 回复 发帖
222# xiaongxp


完美肯定是称不上的,起码这个工具文件太大了,简化的空间还很大,但首先是要解法一定得保证正确无误。再看看吧,也许哪里还有漏洞。作为工具来说,一旦有错,那么用其所作的一切都是不完整的,甚至是错误的。近来在测试原来所用的工具,发现真有不少问题,有些太繁,有些都不正确。
223# xuefeiyang
胡兄是精益求精之人。我刚试着将4根标上标签,发现将某一系数的一个坐标作一个细微改变,根的标签就交换了,表现得不太稳定。同时用相同的初始条件,常老师的工具没这样的表现,胡兄试试。
224# xiaongxp

向兄,标签的变化是正常的。因为这里用了符号函数。常老师的也有同样的现象。关键是看看四个根的数值有没有错误。有没有异常现象。根根多项式函数的连续性,无论系数如何变化,四个根的移动都应该在总体上表现为连续地变动。也正是根据这一性质,我发现常老师的一元四次方程的求根工具还不完善。尽管我尝试作了些改进,还是担心有疏忽之处。
二位老师的细心,严谨,精益求精的精神值得我学习。
那个问题我还没有找出原因,可能三次的也有问题。
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).
我先来也是用的卡丹法,条件判断太多,考虑不周,问题多多。后来改用三倍角公式(我用的是双曲余弦),需p不等于0,用一次条件,我认为简单了,现在看看并不简单,要求反函数取对数,会出现真数为0的现象(未定义现象)
221# xuefeiyang

方程 z4+3000z+1=0 的解出问题了。
z 的系数越大,解误差越大;常数项越小,解误差越大。
这可能还是三次方程的问题。
谢谢常老师的细心测试,确实有此问题,但系数不能设置太大,因为画板的精度和溢出值决定,如果系数设置太大,再加上复数的运算误差的积累结果就无法保证其有效性。一元四次方程的解有两个先决工具:一元二次方程的解和一元三次方程的解,一元二次方程的解问题不大,关键是一元三次方程的解工具。而一元三次方程的解工具依赖于一元三次方程x^3+px+q=0的解工具。下面的WORD文档是关于这个最基本的一元三次方程的解的推导,请大家看看这里的逻辑推理还有哪里不严密,如果推导过程没问题,那做出来的工具如果还无法保证解的有效性,那只能说是软件本身的问题了。非常遗憾,这里无法上传word文档,只好把相关的推导放在我的博客里了。http://user.qzone.qq.com/4221612 ... &pos=1339943373[/url]
问题现象
未命名.gsp (35.14 KB)
[attach]17729[/attach] 231# changxde [/b
这个文件可以保证上d=3000时的正确性,但无法保证系数非常大时解的有效性。
返回列表