编写程序,用牛顿迭代法求高次方程f(x)=5x5-8x3+10x2-7x+25=0的近似根。算法描述:从键盘输入任意一个值x0,用牛顿迭代公式x1=x0-f(x0)/f’(x0)可以得到一个更加接近根
时间: 2023-06-05 12:47:31 浏览: 180
这是一道要求用牛顿迭代法求解方程5x5-8x3+10x2-7x+25=0的近似根的问题。具体的算法描述是:从键盘输入任意一个值x0,用牛顿迭代公式f(x1) = x0 - f(x0)/f'(x0) 得到一个更接近方程根的近似根x1。这样不断用新的x1替代x0,再代入公式中迭代,就可以得到越来越接近方程根的近似根了。
相关问题
用下列方法求方程e^x+10x-2=0的近似根,要求误差不超过1/2*10^(-3) (1)在区间[0,1]上用二分法; (2)初值x0=0,简单迭代法xk+1=2-e^xk/10(k=0,1,2,); (3)初值x0=0,牛顿迭代法;
(1) 在区间[0,1]上用二分法:
首先将区间[0,1]分成两半,取中点x1=0.5,计算f(x1)=e^0.5+10*0.5-2≈9.45,由于f(x1)>0,所以方程的根在区间[0,0.5]内。接下来将区间[0,0.5]分成两半,取中点x2=0.25,计算f(x2)=e^0.25+10*0.25-2≈-0.731,由于f(x2)<0,所以方程的根在区间[0.25,0.5]内。依此类推,可以得到下表:
| 迭代次数k | 左端点a | 右端点b | 中点xk | f(xk) |
| ------------ | ----------- | ----------- | ----------- | ----------- |
| 0 | 0 | 1 | 0.5 | 9.45 |
| 1 | 0.25 | 0.5 | 0.375 | -0.166 |
| 2 | 0.25 | 0.375 | 0.3125 | -0.285 |
| 3 | 0.3125 | 0.375 | 0.34375 | -0.060 |
| 4 | 0.34375 | 0.375 | 0.359375 | 0.054 |
| 5 | 0.34375 | 0.359375 | 0.3515625 | -0.004 |
| 6 | 0.3515625 | 0.359375 | 0.3554688 | 0.025 |
| 7 | 0.3515625 | 0.3554688 | 0.3535156 | 0.010 |
| 8 | 0.3515625 | 0.3535156 | 0.3525391 | 0.003 |
| 9 | 0.3515625 | 0.3525391 | 0.3520508 | -0.0005 |
根据迭代结果可知,方程的近似根为x=0.352,误差不超过1/2*10^(-3)。
(2) 初值x0=0,简单迭代法xk+1=2-e^xk/10(k=0,1,2,...):
根据简单迭代法的公式,代入初值x0=0,可以得到:
x1=2-e^0/10=1.9
x2=2-e^1.9/10≈0.918
x3=2-e^0.918/10≈1.770
x4=2-e^1.770/10≈0.993
x5=2-e^0.993/10≈1.697
x6=2-e^1.697/10≈1.068
x7=2-e^1.068/10≈1.783
x8=2-e^1.783/10≈0.961
x9=2-e^0.961/10≈1.732
依此类推,可以进行迭代计算,直到满足误差不超过1/2*10^(-3)的要求。根据迭代结果可知,方程的近似根为x=1.732,误差不超过1/2*10^(-3)。
(3) 初值x0=0,牛顿迭代法:
根据牛顿迭代法的公式,可以得到:
xk+1=xk-f(xk)/f'(xk)
对于方程f(x)=e^x+10x-2=0,可以求出其导数f'(x)=e^x+10。代入初值x0=0,可以得到:
x1=0-[(e^0+10*0-2)/(e^0+10)]=0.2
x2=0.2-[(e^0.2+10*0.2-2)/(e^0.2+10)]=0.297
x3=0.297-[(e^0.297+10*0.297-2)/(e^0.297+10)]=0.344
x4=0.344-[(e^0.344+10*0.344-2)/(e^0.344+10)]=0.354
x5=0.354-[(e^0.354+10*0.354-2)/(e^0.354+10)]=0.352
x6=0.352-[(e^0.352+10*0.352-2)/(e^0.352+10)]=0.352
依此类推,可以进行迭代计算,直到满足误差不超过1/2*10^(-3)的要求。根据迭代结果可知,方程的近似根为x=0.352,误差不超过1/2*10^(-3)。
用迭代法计算方程 x^3-x-1=0 在x=1.5附近的根,要求误差: s10^-9
答案:使用牛顿迭代法,设初始值为x0=1.5,迭代公式为xn+1 = xn - f(xn)/f'(xn),其中f(x) = x^3 - x - 1,f'(x) = 3x^2 - 1。根据迭代公式,可以得到以下迭代过程:
x1 = x0 - f(x0)/f'(x0) = 1.5 - (1.5^3 - 1.5 - 1)/(3*1.5^2 - 1) ≈ 1.324717957
x2 = x1 - f(x1)/f'(x1) = 1.324717957 - (1.324717957^3 - 1.324717957 - 1)/(3*1.324717957^2 - 1) ≈ 1.220744084
x3 = x2 - f(x2)/f'(x2) = 1.220744084 - (1.220744084^3 - 1.220744084 - 1)/(3*1.220744084^2 - 1) ≈ 1.167303978
x4 = x3 - f(x3)/f'(x3) = 1.167303978 - (1.167303978^3 - 1.167303978 - 1)/(3*1.167303978^2 - 1) ≈ 1.147231724
x5 = x4 - f(x4)/f'(x4) = 1.147231724 - (1.147231724^3 - 1.147231724 - 1)/(3*1.147231724^2 - 1) ≈ 1.145366891
x6 = x5 - f(x5)/f'(x5) = 1.145366891 - (1.145366891^3 - 1.145366891 - 1)/(3*1.145366891^2 - 1) ≈ 1.145365385
x7 = x6 - f(x6)/f'(x6) = 1.145365385 - (1.145365385^3 - 1.145365385 - 1)/(3*1.145365385^2 - 1) ≈ 1.145365385
x8 = x7 - f(x7)/f'(x7) = 1.145365385 - (1.145365385^3 - 1.145365385 - 1)/(3*1.145365385^2 - 1) ≈ 1.145365385
因此,方程 x^3-x-1=0 在x=1.5附近的根约为1.145365385,误差小于s10^-9。
阅读全文