[讨论][挑战]解方程程序
题目描述f(x)=a[n]*x^n+a[n-1]*x^(n-1)+......a[0]*x^0
是一个一元N次的多项式,问题是编写一个程序,能够解出方程f(x)=0的所有解,精确到0,01;
程序越完善越好哦.
输入:
一个整数N
接下来输入N个实数,分别对应a[n],a[n-1].....a[0],系数为0也照常输入
请大家说说自己的思路.
如果可能试下写个程序.
该问题简化版本:N=3.如果任意N不会可以先做这个..
题目要求所有解
无解算不算所有解??????你的那点数学常识不要在我面前显摆,起码在你连我的基本意思都没有搞清楚之前不要说一些不经过大脑考虑的话。
无解的判断实际上可以放在寻找ab的过程中,设定经过一定数量级的2分插值还不能满足f(a)>0,f(b)<0基本上可以判断在
区间[a,b]上无实根,方程的求解过程关键在于预测该方程的解区间也就是a,b的值的确定。这只是简单的解方程思想。
如果要精确的求解恐怕要用到拉格朗日多项式插值公式和矩阵,特别是Vandermonde矩阵或者Toeplitz矩阵,可惜Vandermonde问题本身是一个严重病态的,解搂主的方程个人感觉最好用Toeplitz矩阵,不过问题是相当的........................哈哈!楼主要是有兴趣可以共同探讨!!
[此贴子已经被作者于2006-7-26 13:35:19编辑过]