二分法求方程的实根用二分法求方程x*x-6x-1=0在X=2附近的一个实根,要使迭代精度为1e-8这个程序对吗?#include#includevoid main(){ float x1,x2,xk,fx1,fx2,fxk;cin>>x1>>x2;do{fx1=x1*x1-6*x1-1;fx2=x2*x2-6*x2-1;if(fx1*fx2>0)

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 23:28:22
二分法求方程的实根用二分法求方程x*x-6x-1=0在X=2附近的一个实根,要使迭代精度为1e-8这个程序对吗?#include#includevoid main(){ float x1,x2,xk,fx1,fx2,fxk;cin>>x1>>x2;do{fx1=x1*x1-6*x1-1;fx2=x2*x2-6*x2-1;if(fx1*fx2>0)

二分法求方程的实根用二分法求方程x*x-6x-1=0在X=2附近的一个实根,要使迭代精度为1e-8这个程序对吗?#include#includevoid main(){ float x1,x2,xk,fx1,fx2,fxk;cin>>x1>>x2;do{fx1=x1*x1-6*x1-1;fx2=x2*x2-6*x2-1;if(fx1*fx2>0)
二分法求方程的实根
用二分法求方程x*x-6x-1=0在X=2附近的一个实根,要使迭代精度为1e-8
这个程序对吗?
#include
#include
void main()
{
float x1,x2,xk,fx1,fx2,fxk;
cin>>x1>>x2;
do
{fx1=x1*x1-6*x1-1;
fx2=x2*x2-6*x2-1;
if(fx1*fx2>0)
coutx2;
if(fx1*fx20)
xk=x1;
else if(fxk*fx2>0)
xk=x2;}
}while(fabs(fxk-0)

二分法求方程的实根用二分法求方程x*x-6x-1=0在X=2附近的一个实根,要使迭代精度为1e-8这个程序对吗?#include#includevoid main(){ float x1,x2,xk,fx1,fx2,fxk;cin>>x1>>x2;do{fx1=x1*x1-6*x1-1;fx2=x2*x2-6*x2-1;if(fx1*fx2>0)
编程吗?
思路:
设f(x)=x^2-6x-1,先选择x1和x2(都在2附近),使f(x1)和f(x2)符号相反.取x0=(x1+x2)/2,如果f(x0)=0,则x0就是实根;如果f(x0)和f(x1)符号相同,用x0代替x1;如果f(x0)和f(x2)符号相同,用x0代替x2;重复这个过程,直到f(x0)与0的差小于1e-8
如果是编程,还是自己编吧.不知道你用什么语言

晕阿,先判定2附近的单调性,找出单调区间,在用二分法在计算机上迭代就完了,注意对x要用双精度以确保精度要求