计算方法第2章方程求根(1)
计算方法(孙志忠)习题 第二章方程求根

第二章 方程求根
一、填空题
1、3 ()2510f x x x =−−=用二分法求方程在区间[1,3]内的根,进行
一步后根所在区间为( ),进行两步后根所在区间为( )。
2、解方程()0f x =的简单迭代法的迭代函数()x ϕ满足在有根区间内
( ),则在有根区间内任意取一点作为初始值,迭代解都收敛。
3、设)(x f 可微,求方程)(x f x =根的牛顿迭代格式是( )。
二、问答题
1、用牛顿法求方程30()10 1.5f x x x x =−−==在附近的一个根,并精确到6位有效数字。
[]42,
11,2x x =−2.给定方程()试说明该方程在内有根;
(2)构造一个求此根的收敛的迭代法,并说明理由。
3、给定方程()(1)10x f x x e =−−= 1) 分析该方程存在几个根;
2) 用迭代法求出这些根,精确至5位有效数;
3) 说明所用的迭代格式是收敛的。
2022年九年级数学上册第二章一元二次方程2.2用配方法求解一元二次方程第1课时直接开平方法与配方法

0,
1 3
y
2
1
5,
①
1 y 1 5, ②
3
1 y 1 5, ③
3
y 3 5 1, ④
解:不对,从开始错,应改为
1 3
y
1
5,
y1 3 5 3, y2 3 5 3.
5.解下列方程:
1 x2 4x 4 5
x 22 解5, : x 2 5,
x 2 5, x 2 5,
第二章 一元二次方程
2.2用配方法求解一元二次方程
(第1课时 直接开平方法与配方法(1))
学习目标
1.会用直接开平方法解形如(x+m)2=n (n>0)的方程. (重点) 2.理解配方法的基本思路.(难点) 3.会用配方法解二次项系数为1的一元二次方程. (重点)
复习引入
导入新课
1.如果 x2=a,则x叫作a的 平方根 .
(B) (x-2)2=4,解方程,得x-2=2,x=4
(C)
4(x-1)2=9,解方程,得4(x-1)=
±3,
1
x1=4
;
x2=
7 4
(D) (2x+3)2=25,解方程,得2x+3=±5, x1= 1;x2=-4
2.填空:
(1)方程x2=0.25的根是 x1=0.5,x2=-0.5 . (2)方程2x2=18的根是x1=3,x2=-3 . (3)方程(2x-1)2=9的根是x1=2,x2=-1 .
的实数根 x1 p ,x2 p ;
(2)当p=0 时,方程(I)有两个相等的实数根 x1 x2 =0;
(3)当p<0 时,因为任何实数x,都有x2≥0 ,所以
方程(I)无实数根.
计算方法 实验一 方程求根

实验一方程求根(1)二分法
1、实验程序
实现二分法的MATLAB函数文件agui_bisect.m
2. 在MATLAB命令窗口输入及实验结果及操作界面
(2)迭代法
1、实验程序
实现二分法的MATLAB函数文件agui_iterative.m
2、在MATLAB命令窗口输入及实验结果及操作界面
(3)牛顿法
1、实验程序
实现二分法的MATLAB函数文件agui_newton.m
2、在MATLAB命令窗口输入及实验结果及操作界面
结果分析:
由上面的对二分法、迭代法、牛顿法三种方法的三次实验结果,我们可以得出这样的结论:
二分法要循环k=10次,迭代法要迭代k=4次,牛顿法要迭代k=2次才能达到精度为0.5*10^-3的要求,而且方程0210=-+x e x
的精确解经计算,为0.0905250,由此可知,牛顿法和迭代法的精确度要优越于二分法。
而这三种方法中,牛顿法不仅计算量少,而且精确度高。
从而可知牛顿迭代法收敛速度明显加快,但由所学的内容可知,其收敛性与初值有关,它是局部收敛的。
二分法收敛虽然是速度最慢,但也常用于求精度不高的近似根。
而迭代法是逐次逼近的方法,原理简单,但存在收敛性和收敛速度的问题。
总之各种方法都各有优劣,适用于不同的情况中,须具体情况具体分析。
第2章方程的近似解法

第二章 方程求根在许多实际问题中,常常会遇到方程f(x)=0求解的问题。
当f(x)为一次多项式时,f(x)=0称为线性方程,否则称为非线性方程。
对于非线性方程,由于f(x)的多样性,求其根尚无一般的解析方法可以使用,因此研究非线性方程的数值解法是十分必要的。
法、迭代法、牛顿法及割线法。
这些方法均是知道根的初始近似值后,进一步把根精确化,直到达到所要求的 精度为止。
也即求非线性方程根的数值方法。
第一节 第一节 增值寻根法与二分法2.1.1 增值寻根法设非线性方程f(x)=0的根为*x ,增值寻根法的基本思想是,从初始值0x 开始,按规定 的一个初始步长h 来增值。
令 1n x +=n x +h(n=0,1,2,…),同时计算f(1n x +)。
在增值的计算过程中可能遇到三种情形:(1) f(1n x +)=0,此时1n x +即为方 程的根*x 。
(2) f(n x )和f(1n x +)同符号。
这说明区间[n x , 1n x +]内无根。
(3) f(n x )和f(1n x +)异号,f(n x )·f(1n x +)<0此时当f(x)在区间[n x , 1n x +]上连续时,方程f(x)=0在[n x , 1n x +] 一定有根。
也即我们用增值寻根法找到了方程根的存在区间,n x 或1n x +均可以视为根的近似值。
下一步就是设法在该区间内寻找根 *x 更精确的近似值,为此再用增值寻根法 把n x 作为新的初始近似值,同时把步长缩小,例如选新步长1100h h =,这 样会得到区间长度更小的有根区间,从而也得到使f(x)n x ,作为*x 更 精确的近似值,若精度不够,可重复使用增值寻根法,直到有根区间的长度|1n x +-n x |<ε(ε为所要求的精度)为止。
此时f(n x )或f(1n x +)就可近似认为是零。
n x 或1n x +就是满足精度的方程的近似根(如图2-1).2—1例1 用增值寻根法求方程f(x)=324x x +-10=0的有根区间。
力学中的计算方法(方程求根)

ˆK x
Fixed-Point Iteration ( x K 1 x K ) 2 xK x K 2 x K 1 x K 2
y=x
x0 , x1 g( x0 ), x2 g( x1 ), ˆ 0 , x3 g( x2 ), x ˆ 1 , x4 g( x3 ), x ... ...
0 f ( x*) f ( x0 ) f ( x0 )( x * x0 ) y
x* x0
f ( xk ) x k 1 x k f ( x 线性 /* linear */ k)
f ( x0 ) f ( x0 )
x*
x
x0
只要 f C1,每一步迭代都有 xk x * , f ’( xk ) 0, 而且 lim k 则 x*就是 f 的根。
1 | x k 1 x k | | x * xk | 1 L
L | x1 x0 | | x * xk | 1 L
k
( k = 1, 2, … )
且存在极限
lim
k
x * x k 1 g x * x * xk
Fixed-Point Iteration
1 | x k 1 x k | ? ④ | x * xk | 1 L | x k 1 x k | | x * x k | | x * x k 1 | | x * x k | L | x * x k | | x k 1 x k | 来 Lk 可用 | x1 x0 | ? ⑤ | x * xk | 1 L 控制收敛精度
Bisection Method
When to stop?
计算方法(各种方法的程序源代码)

第一章求根公式法:#include<stdio.h>#include<math.h>main(){int a,b,c;double x1,x2,d=0.0;printf("请输入a,b,c的值:\n");scanf("%d,%d,%d",&a,&b,&c);d=b*b-4*a*c;if(d>=0){if(d>0){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("方程的两根为x1=%f,x2=%f\n",x1,x2);}else{ x1=-b/(2*a);x2=x1;printf("方程的两根为x1=%f,x2=%f\n",x1,x2);}}else{printf("方程无实根\n");}return 0;}二分法:#include<stdio.h>#include<math.h>double f(double x){double y;y=x*x*x-2*x-5;return y;}main(){double a=2.0,b=3.0,x;if(f(a)*f(b)<0.0){do{x=(a+b)/2.0;if(f(a)*f(x)<0.0){b=x;continue;}if(f(x)*f(b)<0.0)a=x;}while(fabs(a-b)>0.01);}else printf("没有实根");printf("实根为%f",x);return 0;}第二章拉格朗日插值:#include <iostream>#include <iomanip>#include <stdlib.h>using namespace std;#define N 100void lagrange(){int n,k,m,q=1;float x[N],y[N],xx,yyy1,yyy2,yy1,yy2,yy3;cout<<"请输入X的个数:";cin>>n;for(k=0;k<=n-1;k++){cout<<"请输入X"<<k<<"的值:";cin>>x[k];cout<<"请输入Y"<<k<<"的值:";cin>>y[k];}system("cls");cout<<"则Xi与Yi表格如下:"<<endl;cout<<"Xi"<<"";for(k=0;k<=n-1;k++)cout<<setiosflags(ios::left)<<setw(10)<<x[k]; cout<<endl;cout<<"Yi"<<"";for(k=0;k<=n-1;k++)cout<<setiosflags(ios::left)<<setw(10)<<y[k]; cout<<endl;while(q){cout<<"请输入所求x的值:";cin>>xx;while(xx>x[k-1]||xx<x[0]){cout<<"输入错误,请重新输入:";cin>>xx;}for(k=0;k<=n-1;k++){if(xx<x[k]){m=k-1;k=n-1;}}yyy1=y[m]*((xx-x[m+1])/(x[m]-x[m+1]))+y[m+1]*((xx-x[m])/(x[m+1]-x[m] ));cout<<"则拉格朗日分段线性插值为:"<<yyy1<<endl;for(k=0;k<=n-1;k++){if(xx<x[k]){m=k-1;k=n-1;}}if((xx-x[m])>(x[m+1]-xx))m=m+1;else m=m;yy1=y[m-1]*((xx-x[m])*(xx-x[m+1]))/((x[m-1]-x[m])*(x[m-1]-x[m+1])); yy2=y[m]*((xx-x[m-1])*(xx-x[m+1]))/((x[m]-x[m-1])*(x[m]-x[m+1])); yy3=y[m+1]*((xx-x[m-1])*(xx-x[m]))/((x[m+1]-x[m-1])*(x[m+1]-x[m])); yyy2=yy1+yy2+yy3;cout<<"则拉格朗日分段二次插值为:"<<yyy2<<endl;cout<<"是否输入其余要求x的值[是(1),否(0)]:";cin>>q;}system("cls");}void main(){lagrange();}牛顿插值:#include<stdio.h>#include<math.h>main(){float a[]={0,1,2,3,4},b[]={3,6,11,18,27};float f[5],x,t,m,n,s=0;int i,j,k,l;printf("请输入x的值:");scanf("%f",&x);f[0]=b[0];for(i=1;i<5;i++){m=0;for(j=0;j<=i;j++){t=1;for(k=0;k<=i;k++){if(k!=j) t=t/(a[j]-a[k]);}m=m+b[j]*t;}n=1;for(l=0;l<i;l++) n=n*(x-a[l]);s=s+m*n;}s=s+f[0];printf("s=%f",s);return 0;}线性和二次插值法:#include<stdio.h>#include<math.h>main(){floata[]={0.4,0.5,0.6,0.7,0.8,0.9},b[]={-0.916291,-0.693147,-0.510826,-0.3566 75,-0.223144,-0.105361};float x,t,m,p1=0.0,p2=0.0,p3=0.0;int i,j;printf("请输入x的值");scanf("%f",&x);for(i=0;i<2;i++){t=0.0;for(j=0;j<2;j++){if(j!=i) t=t+((x-a[j])/(a[i]-a[j]))*b[i];}p1=p1+t;}printf("线性插值的结果为:%f",p1);for(i=0;i<3;i++){m=1.0;for(j=0;j<3;j++){if(j!=i) m=m*((x-a[j])/(a[i]-a[j]));}p2=p2+m*b[i];}printf("取0.4,0.5,0.7,的二次插值的结果为:%f",p2); for(i=1;i<4;i++){m=1.0;for(j=1;j<4;j++){if(j!=i) m=m*((x-a[i])/(a[i]-a[j]));}p3=p3+m*b[i];}printf("取0.5,0.6,0.7的二次插值的结果为:%f",p3);return 0;}直线拟合法:#include<stdio.h>#include<math.h>main(){float X[5]={-2,-1,0,1,2},Y[5]={0,0.2,0.5,0.8,1.0}; float a=0,b=0,c=0,d=0,m,n;int i;for(i=0;i<5;i++){a=a+X[i];b=b+Y[i];c=c+X[i]*X[i];d=d+X[i]*Y[i];};m=(b*c-a*d)/(5*c-a*a);n=(5*d-c*a)/(5*c-a*a);float x,y;printf("请输入X的值");scanf("%f",&x);y=m+n*x;printf("拟合后代入x的值得出的结果为:%f",y); return 0;}第三章复化辛甫生算法:#include<stdio.h>#include<math.h>float f(float x){float y;y=3*x*x+2*x;return y;}main(){float a,b,h,s;int k=1,n;printf("请输入a,b,n");scanf("%f,%f,%d",&a,&b,&n);h=(b-a)/n;s=f(b)-f(a);for(float x=a;k<n;k++){x=x+h/2;s=s+4*f(x);x=x+h/2;s=s+2*f(x);}s=(h/6)*s;printf("s=%f",s);}龙贝格算法:#include<stdio.h>#include<string.h>#include<math.h>#include<conio.h>#include<stdlib.h>float f(float x){return (2*x);}float r(float a,float b){int k=1;float s,x,t1,t2,s1,s2,c1,c2,r1,r2,h=b-a,p;t1=h*(f(a)+f(b))/2;while(1){s=0;x=a+h/2;do{s+=f(x);x+=h;}while(x<b);t2=(t1+h*s)/2.0;if(fabs(t2-t1)<p)return(t2);s2=t2+(t2-t1)/3.0;if(k==1){t1=t2;s1=s2;h/=2;k+=1;continue;}c2=s2+(s2-s1)/15.0;if(k==2){c1=c2;t1=t2;s1=s2;h/=2.0;k+=1;continue;}r2=c2+(c2-c1)/63;if(k==3){r1=r2;c1=c2;t1=t2;s1=s2;h/=2;k+=1;continue;};if(fabs(s1-s2)<p)return(s2);r1=r2;c1=c2;t1=t2;s1=s2;h/2;k+=1;return(r1);}}main(){int i;float a,b,p,s,clrsca();printf("\n input integrate f(x) the begin:");scanf("%f",&a);printf("\n input integrate f(x) the end:"); scanf("%f",&b);printf("\n input p:");scanf("%f",&p);s=r(a,b);printf("the result is:%f",s);getch();return(s);}变步长积分法:#include<stdio.h>#include<math.h>void main(){double k,a,b;int kk,n;double sum[100],t[100];printf("方程为f(x)=x/(4+x^2),积分区间为[0,1]\n");printf("请输入预定精度a的值\n");scanf("%lf",&a);t[0]=0.1;t[1]=0.1088;for(k=1.0,kk=1;fabs(t[kk]-t[kk-1])>=a;k++,kk++){for(n=1,sum[kk+1]=0;n<=pow(2.0,k);n++){b=(2*n-1)/pow(2.0,k+1);sum[kk+1]+=b/(4+b*b);}t[kk+1]=0.5*t[kk]+(1/pow(2.0,k+1))*sum[kk+1];}printf("\n方程利用变步长梯形法积分后的积分值为%f\n",t[kk]);}第四章:欧拉法:#include<stdio.h>#include<math.h>#include<string.h> #include<stdlib.h> float f(float x,float y){ float f;f=x+y;return f;};main(){float x[6],y[6],h;int n;printf("请输入x[0],y[0],h的值:");scanf("%f%f%f",&x[0],&y[0],&h);for(n=1;n<6;x[0]=x[n],y[0]=y[n],n++){ x[n]=x[0]+h;y[n]=y[0]+h*f(x[0],y[0]);printf("%f,%f",x[n],y[n]);printf("\n");}return 0;}改进欧拉法:#include<stdio.h>#include<math.h>#include<string.h>#include<stdlib.h>float f(float x,float y){float f;f=x+y;return f;};main(){float x[6],y[6],h,yp,ye;int n;printf("请输入x[0],y[0],h的值:");scanf("%f%f%f",&x[0],&y[0],&h);for(n=1;n<6;x[0]=x[n],y[0]=y[n],n++){ x[n]=x[0]+h;yp=y[0]+h*f(x[0],y[0]);ye=y[0]+h*f(x[n],yp);y[n]=(yp+ye)/2;printf("%f,%f",x[n],y[n]);printf("\n");}return 0;}四阶龙格库塔法:#include<stdio.h>#include<math.h>#include<string.h>float f(float x,float y){float f;f=x+y;return f;}main(){float x[11],y[11],h,k1,k2,k3,k4;printf("请分别输入x[0],y[0],h的值:");scanf("%f%f%f",&x[0],&y[0],&h);for(int n=1;n<11;x[0]=x[n],y[0]=y[n],n++){ x[n]=x[0]+h;k1=f(x[0],y[0]);k2=f(x[0]+h/2,y[0]+h*k1/2);k3=f(x[0]+h/2,y[0]+h*k2/2);k4=f(x[n],y[0]+h*k3);y[n]=y[0]+h*(k1+2*k2+2*k3+k4)/6;printf("%f,%f",x[n],y[n]);printf("\n");}return 0;}第六章迭代法:#include<stdio.h>#include<math.h>#include<string.h>double F1(double x);double Newton(double x0, double e); int main(){double x0 = 0.5;double e = 10E-6;printf("x = %f\n", Newton(x0, e));getchar();return 0;}double F1(double x){return log(x+2)/log(10);}double Newton(double x0, double e) {double x1;do{x1 = x0;x0 =F1(x1);} while (fabs(x0 - x1) > e);return x0;}埃特金加速法:#include<stdio.h>#include<conio.h>#include<math.h>#define h 1.E-10 double f(double x0) {x0=exp(-x0);return x0;}double sub(double x) {if(x>=0)return x;else return -x;}main(){double x0=0.5,x,s=0.0; do{x=f(x0);s=sub(x-x0);x0=x;}while(s>h); printf("x=%f",x); getch();return 0;}快速弦截法:#include<stdio.h>#include <math.h>float f(float x){float y;y=x*exp(x)-1;return (y);}float xpoint(float x1,float x2){float y;y=(x1*f(x2)-x2*f(x1)) / (f(x2) - f(x1));return (y) ;}float root(float x1, float x2) {int i;float x,y,y1;y1=f(x1);do{x=xpoint(x1,x2);y=f(x);if(y*y1>0){y1=y;x1=x;}elsex2=x;}while(fabs(y)>=0.0000001); return (x);}main(){float x1,x2,f1,f2,x;do{printf("input x1,x2:\n");scanf("%f,%f",&x1,&x2);f1=f(x1);f2=f(x2);}while(f1*f2>=0);x=root(x1,x2);printf("A root of equation is %8.4f\n",x); }第七章高斯消去法:#include<stdio.h>#include<math.h>main(){float a[10][10],b[10],m[10][10],x[10],sum; int i,j,k,n;printf("the top exp:");scanf("%d",&n);printf("\n");for(i=0;i<n;i++){for(j=0;j<n;j++){scanf("%f",&a[i][j]);}for(i=0;i<n;i++){scanf("%f",&b[i]);}for(k=0;k<n-1;k++){if(a[k][k]==0)printf("error");else {for(i=k+1;i<n;i++){m[i][k]=a[i][k]/a[k][k];} };a[i][k]=m[i][k];b[i]=b[i]-m[i][k]*b[k];for(j=k+1;j<n;j++)a[i][j]=a[i][j]-m[i][k]*a[k][j];};if(a[n-1][n-1]==0)printf("error");else x[n-1]=b[n-1]/a[n-1][n-1];b[n-1]=x[n-1];for(i=n-2;i>=0;i--){sum=0;for(j=i+1;j<n;j++){sum+=a[i][j]*x[j];}x[i]=(b[i]-sum)/a[i][i];b[i]=x[i];}for(i=0;i<n;i++)printf("%f\n",x[i]);}return 0;}选主元消去法:#include<stdio.h>#include<math.h>main(){float a[10][10],b[10],s,t,e,sum; int i,j,k,n,m;printf("The top exp is "); scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%f",&a[i][j]);for(i=0;i<n;i++)scanf("%f",&b[i]);scanf("%f",&e);k=0;do{t=a[k][k];for(i=k;i<n;i++){if(fabs(t)<fabs(a[i][k])){t=a[i][k];m=i;}else m=k;}if(fabs(t)<e)printf("det A = 0\n");else {if(m!=k){for(j=0;j<n;j++){s=a[m][j];a[m][j]=a[k][j];a[k][j]=s;}s=b[m];b[m]=b[k];b[k]=s;}for(i=k+1;i<n;i++)for(j=k+1;j<n;j++){a[i][k]=a[i][k]/a[k][k];a[i][j]=a[i][j]-a[i][k]*a[k][j];b[i]=b[i]-a[i][k]*b[k];}}k++;}while(k<n-2);if(fabs(a[n-1][n-1])<e)printf("det A = 0\n");else {b[n-1]=b[n-1]/a[n-1][n-1];for(i=n-2;i>=0;i--){sum=0;for(k=i+1;k<n;k++){sum+=a[k][j]*b[j];}b[i]=(b[i]-sum)/a[i][i];}}for(i=0;i<n;i++)printf("%f\n",b[i]);}追赶法:#include<stdio.h>#include<math.h>main(){int i,j,k,n;float d[10][10],g[10],a[10],b[10],c[10],x[10],y[10],f[10];printf("the top exp is ");scanf("%d",&n);scanf("%f,%f,%f,%f",&d[0][0],&d[0][1],&d[n-1][n-2],&d[n-1][n-1]); for(i=1;i<n-1;i++)for(j=i-1;j<=i+1;j++)scanf("%f",&d[i][j]);for(i=0;i<n;i++)scanf("%f",&g[i]);for(i=1;i<n-1;i++)a[i]=d[i][i-1];for(i=0;i<n;i++)b[i]=d[i][i];for(i=0;i<n-1;i++)c[i]=d[i][i+1];f[0]=c[0]/b[0];for(k=1;k<n-1;k++)f[k]=c[k]/(b[k]-a[k]*f[k-1]);y[0]=g[0]/b[0];for(i=1;i<n;i++)y[i]=(g[i]-a[i]*y[i-1])/(b[i]-a[i]*f[i-1]); x[n-1]=y[n-1];for(i=n-2;i>=0;i--)x[i]=y[i]-f[i]*x[i+1];for(i=0;i<n;i++)printf("%f\n",x[i]);}。
解一元二次方程公式法

公式法是这样生产的
你能用公式法解方程 2x2-9x+8=0 吗?
解 : a 2 ,b 9 ,c 8 .1.变形:化已知方程为一般形式;
b 2 4 a c 9 2 4 2 8 1 7 0 .
x b b 2 4 ac 2a
9 17
22 9 17 .
4
2.确定系数:用a,b,c写出各项系数;
九年级数学(上)第二章 一 元二次方程
3.公式法(1) 一元二次方程解法
配方法
回顾与复习 1
我们通过配成完全平方式的方法,得到了一元 二次方程的根,这种解一元二次方程的方法称为 配方法(solving by completing the square)
助手 用配方法解一元二次方程的方法的
:
平方根的意义:
公式法将从这里诞生
你能用配方法解方程 2x2-9x+8=0 吗?
解:x29x40.
2
x2 9 x 4.
x29x292924.
x
2 9
2417
.
4
4 16
1.化1:把二次项系数化为1;
2.移项:把常数项移到方程的右边;
3.配方:方程两边都加上一次项系数绝对值 一半的平方;
4.变形:方程左分解因式,右边合并 同类;
8.x1909..xx2714x;3;xx139 .43.273. 16x2+8x=3 ;
1
1 参 考 答 案 :2 12
2
ቤተ መጻሕፍቲ ባይዱ
12
1
2
解:设这三个 一个连 直角续 三角偶 的 形三数 一 边的中 个 长x为间 ,为 根 三个据 连续题 偶 意得
x2 x 数 ,求2 这2 个三x角 形2 的2 .三边长.
方程求根(计算方法)

高斯像(2)
高斯像(3)
高斯像(4)
第二章 方程求根
§2.2 二分法
§2.2 二分法
❖ 定义:如果函数f(x)在区间[a,b]上连 续,且f(a)f(b)<0,则方程在区间[a,b]上 一定有实根,[a,b]叫方程的有根区间。
【注记】f(a)f(b)<0只保证有实根, 但并不保证根是 唯一, 即不保证是单根, 也不排斥f(a)f(b)>0时在[a,b] 上有根的情形。即,f(a)f(b)<0对于在[a,b]上有实根 是充分的, 但不必要;f(a)f(b)<0对于在[a,b]上有唯 一单实根不充分也不必要。如图所示:
§2.1 问题的提出
• 有多种数值算法可以求解非线性方程, 我们在本章将学习其中得几种,它们是:
✓ 二分法(bisection method) ✓迭代法(iteration method) ✓牛顿法(Newton method) ✓牛顿下山法(Newton downhill method)。
牛顿(1)
§2.1 问题的提出
➢ 扫描流程
§2.1 问题的提出
【历史注记】人们很早就探索了高次方程的数值解 的求法。巴比伦泥板中有平方表和立方表,利用它 们可以解某些特殊的二次和三次方程。中国古人相 当系统地解决了求高次方程数值解的问题,《九章 算术》以算法形式给出了二次方程及正系数三次方 程正根的具体计算程序;7世纪王孝通也给出了求 三次方程正根的数值解法;11世纪贾宪在《黄帝九 章算法细草》中创“开方作法本源图”,用“立成 释锁法”解三次和三次以上高次方程, 同时他又提 出一种更为简便的“增乘开方法”;13世纪秦九韶 在《数书九章》中的“正负开方术”最后完成,提 供了一个用算筹布列解任何次数字方程的可行算法。
计算方法的课后答案

《计算方法》习题答案第一章 数值计算中的误差1.什么是计算方法?(狭义解释)答:计算方法就是将所求的的数学问题简化为一系列的算术运算和逻辑运算,以便在计算机上编程上机,求出问题的数值解,并对算法的收敛性、稳定性和误差进行分析、计算。
2.一个实际问题利用计算机解决所采取的五个步骤是什么?答:一个实际问题当利用计算机来解决时,应采取以下五个步骤: 实际问题→建立数学模型→构造数值算法→编程上机→获得近似结果 4.利用秦九韶算法计算多项式4)(53-+-=x x x x P 在3-=x 处的值,并编程获得解。
解:400)(2345-+⋅+-⋅+=x x x x x x P ,从而 1 0 -1 0 1 -4 -3 -3 9 -24 72 -2191-38-2473-223所以,多项式4)(53-+-=x x x x P 在3-=x 处的值223)3(-=-P 。
5.叙述误差的种类及来源。
答:误差的种类及来源有如下四个方面:(1)模型误差:数学模型是对实际问题进行抽象,忽略一些次要因素简化得到的,它是原始问题的近似,即使数学模型能求出准确解,也与实际问题的真解不同,我们把数学模型与实际问题之间存在的误差称为模型误差。
(2)观测误差:在建模和具体运算过程中所用的一些原始数据往往都是通过观测、实验得来的,由于仪器的精密性,实验手段的局限性,周围环境的变化以及人们的工作态度和能力等因素,而使数据必然带有误差,这种误差称为观测误差。
(3)截断误差:理论上的精确值往往要求用无限次的运算才能得到,而实际运算时只能用有限次运算的结果来近似,这样引起的误差称为截断误差(或方法误差)。
(4)舍入误差:在数值计算过程中还会用到一些无穷小数,而计算机受机器字长的限制,它所能表示的数据只能是一定的有限数位,需要把数据按四舍五入成一定位数的近似的有理数来代替。
这样引起的误差称为舍入误差。
6.掌握绝对误差(限)和相对误差(限)的定义公式。
求根公式二次方程的解法

求根公式二次方程的解法求根公式是解决二次方程的常用方法之一。
二次方程的一般形式为ax^2 + bx + c = 0,其中a、b、c为已知实数,且a ≠ 0。
求根公式可以帮助我们找到二次方程的解,即x的值。
在本文中,将详细介绍求根公式的推导和使用。
推导求根公式:假设二次方程ax^2 + bx + c = 0有两个解x1和x2,我们可以通过下面的步骤来推导求根公式。
步骤1:将二次方程用完全平方的形式表示。
将ax^2 + bx + c = 0移项得ax^2 + bx = -c。
步骤2:将二次方程的左边进行完全平方。
首先,我们需要找到一个常数k,使得(b/2a)^2 = k。
这样,我们可以将ax^2 + bx写成(a(x^2 + (b/2a)x + k) - ak) = -c。
步骤3:继续进行完全平方操作。
我们将x^2 + (b/2a)x + k写成(x + (b/2a))^2 - (b/2a)^2 + k的形式。
步骤4:化简右边的表达式。
(x + (b/2a))^2 - (b/2a)^2 + k = 0可以简化为(x + (b/2a))^2 = (b^2 -4ac)/4a^2 - k。
步骤5:将等式两边开平方。
由于等式两边相等,故(x + (b/2a))^2的值也应该等于(b^2 - 4ac)/4a^2 - k。
步骤6:消去开根号和平方。
令Δ = b^2 - 4ac,即二次方程的判别式。
将上式展开得x + (b/2a) =±√(b^2 - 4ac)/2a - √k。
步骤7:将x孤立我们可以进一步化简得x = (-b ± √Δ)/(2a) - (b/2a)。
这就是二次方程的求根公式。
求根公式的应用:现在我们来解决一个实际问题,通过求根公式来计算二次方程的解。
例题1:解方程2x^2 + 3x - 9 = 0。
根据求根公式,a = 2,b = 3,c = -9。
将这些值代入求根公式x = (-b ± √Δ)/(2a) - (b/2a)中:Δ = b^2 - 4ac = 3^2 - 4 * 2 * (-9) = 105x = (-3 ± √105)/(4) ≈ (1.5 ± 2.45).因此,方程2x^2 + 3x - 9 = 0的解为x ≈ 3.95或x ≈ -2.45。
计算方法第2章f(x)=0求根概要

lim xk = x *
,则 x*就是 f (x)的根。
二、牛顿法收敛的充分条件
定理2.5: 设f (x)在[a, b]上满足下列条件:
(1)f (a) f (b) < 0;
(2)f’ (x) 0;
(3)f (x) 存在且不变号; (4)取x0 [a, b],使得f (x)f (x0) >0 则由(2.3)确定的牛顿迭代序列{xk}收敛于f (x) 在[a, b]上的唯一根x*。
如果存在正实数p,使得
lim
k
x * xk 1 x xk
* p
C
(C为非零常数)
则称序列{xk}收敛于x*的收敛速度是p阶的,或称该方法 具有p 阶敛速。当p = 1时,称该方法为线性(一次)收敛; 当p = 2时,称方法为平方(二次)收敛;当1< p< 2时, 称方法为超线性收敛。
证:先证解的存在性 作辅助函数f (x)=x - g (x), 由条件知 f (x)在[a, b]上连续,且f(a)f(b)<0; 由连续函数的零点定理,至少存在一 x* [a, b], 使f (x*)=0. 再证解的唯一性
设另有f(x1)=0,那么根据微分中值定理有 x1- x*=g(x1)-g(x*)=g’(x2)(x1- x*)
x0 0 1 1 xn xn 1 e 5 10
1 x* 1 n * xn 由于 x xn 1 10 (e e )
所以 取极限得
x* xn1 1 n e * x xn 10
x* xn 1 1 x* lim * e n x x 10 n
ek + 1 g ( p ) ( x*) ® 。这表明迭代过程 p ek p!
2.3.1 用公式法求解一元二次方程(第一课时)

(3)原方程可化为 4y2 – 2.4y+0.36=0 , 这里 a=4,b=-2.4,c=0.36, ∵b2-4ac=(-2.4)2-4×4×0.36=0, ∴原方程有两个相等的实数根.
2.用公式法解下列方程: (1)2x2 –9x+8=0; (3)16x2+8x=3;
解:(1)这里 a=2,b=-9,c=8, ∵b2-4ac=(-9)2-4×2×8=17>0,
x 9 17 9 17
22
4
x1 9 4 17
,
x2
9
4
17
(2)9x2+6x +1=0; (4)x (x –3)+5=0
(2)这里 a=9,b=6,c=1, ∵b2-4ac=62-4×9×1=0,
x 6 0 1 29 3
即
x1
x2
1 3
2.用公式法解下列方程: (1)2x2 –9x+8=0; (3)16x2+8x=3;
(2)3x2 + 2x + 1 = 0
解:移项,得 2x2 -7x=-3, 方程两边同除以2,得
解: 方程化为 x2 + 2 x 1 0,
33
x2 7 x 3, 22
x2
+
2 3
x
1 3
2
1 3
2
1 3
0,
配方,得
x2
7 2
x+
7 4
2
3 2
7 4
2
,
x
1 3
2
2 9
x+ b = 2a
b2 4ac 4a2
,
即
x= b 2a
计算方法第2章 方程求根

方程求根§2.0 引言§2.1 二分法§2.2 简单迭代法§2.3 牛顿(Newton)法§2.4 其它求根方法(迭代过程的加速方法)§2.5 作业讲评2.0 引 言非线性科学是当今科学发展的一个重要研究方向,非线性方程的求根也成为其中一个重要内容。
一般而言,非线性方程的求根非常复杂。
在实际应用中有许多非线性方程的例子,例如(1)在光的衍射理论(the theory of diffraction of light)中,需要求x-tanx=0的根(2)在行星轨道( planetary orbits )的计算中,对任意的a 和b ,需要求x-asinx=b 的根(3)在数学中,需要求n 次多项式-1-110 ... 0n n n n a x a x a x a ++++=的根。
非线性方程的一般形式 ()0f x = 这里()f x 是单变量x 的函数,它可以是代数多项式-1-110() ... nn n n f x a x a x a x a =++++ (0n a ≠)也可以是超越函数,即不能表示为上述形式的函数。
满足方程 ()0f x = 的x 值通常叫做方程的根或解,也叫函数()0f x =的零点。
2.1 二分法(Bisection Method)1 概念:二分法也称对分区间法、对分法等,是最简单的求根方法,属于区间法求根类型。
在用近似方法时,需要知道方程的根所在区间。
若区间[a,b]含有方程f(x)=0的根,则称[a,b]为f(x)=0的有根区间;若区间[a,b]仅含方程f(x)= 0的一个根,则称[a,b]为f(x)= 0的一个单根区间。
2.基本思想根的存在定理(零点定理):f(x)为[a,b]上的连续函数,若f(a)·f(b)<0,则[a,b]中至少有一个实根。
如果f(x)在[a,b]上还是单调递增或递减的,则f(x)=0仅有一个实根。
计算方法1-2

e ( x*)
( er ( x ) r )
为
x的相对误差限。
3.有效数字 m 设 x 10 (0.a1 a 2 a n a p ) (a1 0, p ) 1 mn 若 (1.1) x * x 10 2
则说
x 具有n位有效数字,分别是
若
n p ,则称
10 0.04 10 0.1 10 0.00000000004 10
8 9 9
8
3.尽量避免相近数相减 例如,当x很大时,应
,
x1
x
1 x x1
1 1 1 x x 1 x ( x 1) 当x接近于0时,应
1 cos x sin x x 或tg sin x 1 cos x 2
f(x)=0根或f(x)零点,当f(x)复杂时,很难求 (找近似有效简单方法)。
§2.1 区间二分法
理 论 : f(x) ∈ C[a,b],单调, f(a)f(b)<0
f(x)=0在(a,b)有惟一根。
方程求根的步骤:(1)求根的隔离区间;(2)将根精确化 根的隔离区间求法:画草图;多项式函数交点横坐标; 试算。
程序运行 结果:
基本要求:
1.熟悉计算方法在解决实际问题中所处的地位,熟 悉计算方法是以计算机为工具求近似解的数值方 法; 2.熟悉绝对误差(限),相对误差(限)及有效数 字概念; 3.熟悉公式(1.2)--(1.9); 4.熟悉选用算法应遵循的原则;
作业:
第一章 8, 10
第二章 方程求根
§1.2 误差基础知识
一 .误差来源(分类)
1. 模型误差。 2. 观测误差。 3. 截断误差,如
x x sin x x ...... , 3! 5!
一元三次方程求根公式

I
第1章
一元三次方程求根公式
第 1 章 一元三次方程求根公式
1 求根公式
如下图所示,在 MATLAB 里执行如下两条命令: syms a b c d solve('a*x^3+b*x^2+c*x+d')
图1
将得到一元三次方程 ax3 bx 2 cx d 0 的求根公式。经笔者整理后,得 u 9abc 27 a 2 d 2b3 54a 3
2 3
(1)
9abc 27 a 2 d 2b3 3ac b 2 v 2 54a 3 9a
3 b c 18abcd 27 a d 4b d
3
(2)
18a 2
1
第1章
3 uv m 3 uv
(18)
上式中, n 有三种取值 0,1,2,且满足下式
n MN p 3 P
方程(9)的三个根为:
(19)
x1 y1 b 3a x2 y2 b 3a x y b 3a 3 3
(20)
5
第1章
一元三次方程求根公式
2.1 验证
令
(9)
b y x 3a 3ac b 2 p 3a 2 27 a 2 d 9abc 2b3 q 27a 3
(10)
4
第1章
一元三次方程求根公式
则方程(9)可转化为下式
y 3 py q 0
求解上式中 y 的计算步骤如下: p P 3 q Q 2
x[3]; x1(1.0,0.0); //随便填 x2(2.0,0.0); //随便填 x3(3.0,0.0); //随便填 a (4.5,0.0); //随便填(不为零即可) b = a * (-x1-x2-x3); c = a * (x2 * x3 + x1 * x3 + x1 * x2); d = a * (-x1 * x2 * x3);
数值分析课件 非线性方程的迭代解法方程求根

k
解: 改写为以下两种等价方程 0
方法1 1.5
方法2 1.5
(1)x x3 1, (2)x 3 x 1 1 2.375 1.35721
建立迭代公式:(1)xk 1
x
3 k
1;
2
(2)xk 1 3 xk 1
3
4
各步迭代结果如下:
5
12.39
1.33086 1.32588 1.32494 1.32476
定义:迭代公式 xk+1= g(xk) (k= 0,1, …) 被称为求
解方程 f(x)=0 的简单迭代法(不动点迭代法), 其中g(x)称为迭代函数。
注:上述迭代法是一种逐次逼近法,其基本思想是 将隐式方程归结为一组显示的计算公式,就是说, 迭代过程是一个逐步显示化过程。
例:
求方程 f (x) x3 x 1 0 在x0 1.5 附近的根。
求 g(x) 不动点的过程
找s,使得s = g(s).
从一个初值 x0 出发,计算
x1= g(x0), x2= g(x1), … , xk+1= g(xk), …
若
{
xk
}
收敛,即存在实数
s
使得
lim
k
xk
s且
g(x)
连续,
则由
lim
k
xk
1
lim g k
xk
可知 s=g(s), 即 s是 g 的不动点, 它也是 f 的零点.
二分法求根思想
找有根区间序列(ak , bk); 用(ak , bk)的中点近似根.
二分法:
设一元非线性函数 f (x) 在 (a, b) 内只有一个 零点s , 用二分法求f (x)=0实根的过程如下:
总结第2章方程求根

lnb a ln ε - 1 k
ln 2
第2章 方程求根
3. 优缺点
《 计 算 方 法 》
优点:计算过程简单,程序容易实现。可在大范 围内求根。
缺点:收敛慢,其收敛速度仅与一个以 1/2为 比值的等比级数相同。
不易求偶数重根和复根 一般用于求根的近似值而后在用其它的求根方法
《 计 算 方 法 》
x1和x2都有 g( x1 ) g( x2 ) q x1 x2 2)、若q<1, 则 方程在(a,b)内有唯一的根;
, q为某个确定的正数。
且迭代公式 xk+1=g(xk) 对任意初始近似值x0均收敛于 方程的根x; 还有误差估计式
q qk x xk xk xk 1 x1 x0 1 q 1 q
(2―11)
第2章 方程求根
注:
要验证g(x)是否满足李氏条件一般比较困难,若g(x)
《 计 算 方 法 》
可微,可用充分条件 g( x) q 1 来代替。这里q<1
是非常重要的条件,否则不能保证果将原方程化为等价方程:x 2 x3 1
《 计 算 方 法 》
第2章 方程求根
《 计 算 方 法 》
第2章
方程求根
第2章 方程求根
第2章 方程求根
《 计 算 方 法 》
§1 二分法 §2 迭代法
§3 切线法(牛顿法)
§4 弦截法
§5 加速迭代法
第2章 方程求根
§2.3 二分法 (Bisection Method )
《 计 算 方 法 》
一、理论基础
若 f(x)在区间[a, b]单调连续,且 f (a) · (b) < 0,则f(x) f
第二章 2.1 2.1.2 一元二次方程的解集及其根与系数的关系

2.1.2 一元二次方程的解集及其根与系数的关系课标要求素养要求1.理解判别式的作用,掌握一元二次方程的解法:因式分解法(包括“十字相乘法”),配方法和求根公式法(重点).2.掌握一元二次方程根与系数的关系(韦达定理).通过求一元二次方程的解集及根与系数关系的应用,提升逻辑推理和数学运算素养.教材知识探究利用恒等式的变形,推导一元二次方程根与系数的关系如下 设一元二次方程ax 2+bx +c =0(a ≠0)两根为x 1,x 2, 令ax 2+bx +c =a (x -x 1)(x -x 2)=ax 2-a (x 1+x 2)x +ax 1x 2, ∴⎩⎨⎧b =-a (x 1+x 2),c =ax 1x 2,即⎩⎪⎨⎪⎧x 1+x 2=-ba ,x 1x 2=c a .1.一元二次方程的解集 (1)一般地,方程x 2=t :①当t >0时,解集为{t ,-t }; ②当t =0时,解集为{0}; ③当t <0时,解集为∅. (2)一般地,方程(x -k )2=t :①当t >0时,解集为{k +t ,k -t }; ②当t =0时,解集为{k }; ③当t <0时,解集为∅.(3)一元二次方程ax 2+bx +c =0(a ≠0)的判别式及求根公式判别式只能判定实系数(系数全都是实数)一元二次方程的解集的情况一般地,Δ=b 2-4ac 称为一元二次方程ax 2+bx +c =0(a ≠0)的判别式.对一元二次方程ax 2+bx +c =0(a ≠0),Δ>0⇔有两个不相等的实根;Δ=0⇔有两个相等的实根;Δ<0⇔无实数根. 当Δ≥0时,x 1=-b +b 2-4ac 2a ,x 2=-b -b 2-4ac 2a 叫做一元二次方程ax 2+bx +c =0(a ≠0)的求根公式.(4)一元二次方程的解集 实系数一元二次方程有实数根的充要条件是Δ≥0 设ax 2+bx +c =0(a ≠0) ①当Δ=b 2-4ac >0时,方程的解集为⎩⎭2a ,2a ; ②当Δ=b 2-4ac =0时,方程的解集为⎩⎨⎧⎭⎬⎫-b 2a ;③当Δ=b 2-4ac <0,方程的解集为∅. 是指在实数范围内方程无解. 2.一元二次方程根与系数的关系对任何Δ≥0的一元二次方程,根与系数的关系都成立设x 1,x 2是一元二次方程ax 2+bx +c =0(a ≠0)的两根,则有⎩⎨⎧x 1+x 2=-b a,x 1x 2=c a W.常用的几个变形:①x 21+x 22=(x 1+x 2)2-2x 1x 2; ②(x 1-x 2)2=(x 1+x 2)2-4x 1x 2;③x 31+x 32=(x 1+x 2)3-3x 1x 2(x 1+x 2); ④|x 1-x 2|=(x 1-x 2)2=(x 1+x 2)2-4x 1x 2; ⑤1x 1+1x 2=x 1+x 2x 1x 2. 教材拓展补遗[微判断]1.ax 2+bx +c =0(a ,b ,c 为常数)叫做一元二次方程.(×) 提示 当a =0时,不是一元二次方程.2.一元二次方程均可化为(x -k )2=t 的形式.(√)3.一元二次方程解的情况由一元二次方程的系数完全确定.(√) [微训练]1.下列方程中,是关于x 的一元二次方程的是( ) A.3(x +1)2=2(x +1)B.1x 2+1x -2=0C.ax 2+bx +c =0D.x 2+2x =x 2-1解析 A 中方程可化为3x 2+4x +1=0,是一元二次方程;B 中方程是关于1x 的一元二次方程;对C ,当a =0时,不是关于x 的一元二次方程;D 中方程可化为2x =-1,不是一元二次方程. 答案 A2.已知m 是方程x 2-x -1=0的一个根,则代数式m 2-m 的值等于( ) A.-1 B.0 C.1D.2解析 由题意,m 2-m -1=0,即m 2-m =1. 答案 C3.关于x 的一元二次方程x 2+px +q =0的两根分别为x 1=2,x 2=1,则p ,q 的值分别为( ) A.-3,2 B.3,-2 C.2,-3D.2,3解析 由根与系数的关系,得⎩⎨⎧2+1=-p ,2×1=q ,∴⎩⎨⎧p =-3,q =2.答案 A [微思考]一元二次方程(系数均为实数)有两个根,它的解集是否一定有两个元素? 提示 当一元二次方程的判别式为零时,方程有两个相等的实数根,其解集只有一个元素.题型一 一元二次方程判别式的应用【例1】 试证明:不论m 为何值,方程2x 2-(4m -1)x -m 2-m =0总有两个不相等的实数根.证明 ∵Δ=[-(4m -1)]2-4×2×(-m 2-m )=24m 2+1>0,∴不论m 为何值时,方程2x 2-(4m -1)x -m 2-m =0总有两个不相等的实数根. 规律方法 一元二次方程ax 2+bx +c =0(a ,b ,c ∈R 且a ≠0)的实数根的情况可由Δ=b 2-4ac 加以判定,即Δ>0时,有两不相等的实数根;当Δ=0时,有两个相等的实数根;当Δ<0时,没有实数根. 【训练1】 不解方程,判别下列方程根的情况. (1)x 2-14x +12=0;(2)4x 2+12x +9=0; (3)2x 2-3x +6=0.解 (1)Δ=(-14)2-4×1×12=148>0,∴x 2-14x +12=0有两个不相等的实数根;(2)Δ=122-4×4×9=0,∴4x 2+12+9=0有两个相等的实数根; (3)Δ=(-3)2-4×2×6=-39<0,∴2x 2-3x +6=0没有实数根. 题型二 换元法的应用【例2】 求方程1x 2-1x -1=0的解集.解 令y =1x ≠0,则方程1x 2-1x -1=0可化为y 2-y -1=0, 由求根公式,得y 1=1+52或y 2=1-52,即1x =1+52或1x =1-52, ∴x =5-12或x =-5+12,∴原方程的解集为⎩⎪⎨⎪⎧⎭⎪⎬⎪⎫-5+12,5-12. 规律方法 通过引入新元y (y 为关于x 的代数式),可把一些关于x 的方程化为关于y 的二次方程ay 2+by +c =0(a ≠0),从而求出y 的值,进而求出x 的值. 【训练2】 求下列方程的解集. (1)x 4-3x 2+2=0;(2)x +2x -1=0; (3)(x 2-x )2-(x 2-x )-2=0.解 (1)令y =x 2≥0,得y 2-3y +2=0, ∴y =1或y =2,即x 2=1或x 2=2, ∴x =±1或x =± 2.∴原方程的解集为{-2,-1,1,2}. (2)令y =x ≥0,得y 2+2y -1=0, ∴y =-1+2或y =-1-2(舍).从而x =-1+2,即x =3-22, ∴原方程的解集为{3-22}.(3)令x 2-x =t ,得t 2-t -2=0,∴t 1=-1或t 2=2, 即x 2-x +1=0 ①或x 2-x -2=0 ② 对①,Δ=-3<0,无实数解;对②,易得x =-1或x =2,故原方程的解集为{-1,2}. 题型三 一元二次方程根与系数关系的应用【例3】 已知关于x 的一元二次方程x 2-2x +m -1=0有两个实数根x 1,x 2. (1)求m 的取值范围;(2)当x 21+x 22=6x 1x 2时,求m 的值.解 (1)由Δ=(-2)2-4(m -1)=-4(m -2)≥0,得m ≤2,即m 的取值范围是 (-∞,2].(2)由根与系数的关系,得⎩⎨⎧x 1+x 2=2,x 1x 2=m -1.∵x 21+x 22=6x 1x 2,∴(x 1+x 2)2=8x 1x 2,即22=8(m -1),解得m =32.∵32<2,∴m 的值为32.规律方法 运用根与系数的关系,注意两点(1)常见变形x 21+x 22=(x 1+x 2)2-2x 1x 2,|x 1-x 2|=(x 1+x 2)2-4x 1x 2;(2)整体代入.【训练3】 已知关于x 的方程x 2-2(k -1)x +k 2=0有两个实数根x 1,x 2. (1)求k 的取值范围;(2)若|x 1+x 2|=x 1x 2-1,求k 的值.解 (1)由Δ=[-2(k -1)]2-4k 2=4(1-2k )≥0,得k ≤12,即k 的取值范围是⎝ ⎛⎦⎥⎤-∞,12. (2)由根与系数的关系,得⎩⎨⎧x 1+x 2=2(k -1),x 1x 2=k 2.∵|x 1+x 2|=x 1x 2-1,∴|2(k -1)|=k 2-1 ①,∵k ∈⎝ ⎛⎦⎥⎤-∞,12,∴k -1≤-12,∴①可化为-2=k +1,∴k =-3.一、素养落地1.通过学习求一元二次方程的解集提升运算素养;通过学习根与系数的关系提升逻辑推理和数学运算素养.2.求一元二次方程解集时,先用判别式判定解的情况再求解集.3.运用根与系数关系时,注意恒等变形和整体代入. 二、素养训练1.用配方法解下列方程时,配方有错误的是( ) A.x 2-2x -99=0化为(x -1)2=100 B.x 2+8x +9=0化为(x +4)2=25 C.2t 2-7t -4=0化为⎝ ⎛⎭⎪⎫t -742=8116D.3y 2-4y -2=0化为⎝ ⎛⎭⎪⎫y -232=109解析 x 2+8x +9=0配方应为(x +4)2=7.选B. 答案 B2.如果关于x 的方程ax 2+x -1=0有实数根,则a 的取值范围是( ) A.⎝ ⎛⎭⎪⎫-14,+∞ B.⎣⎢⎡⎭⎪⎫-14,+∞ C.⎣⎢⎡⎭⎪⎫-14,0∪(0,+∞) D.⎝ ⎛⎭⎪⎫-14,0∪(0,+∞) 解析 当a =0时,x =1,符合题意;当a ≠0时,由Δ=12+4a ≥0,得a ≥-14.综上,a 的取值范围为⎣⎢⎡⎭⎪⎫-14,+∞.答案 B3.已知(x 2+y 2+1)(x 2+y 2-3)=5,则x 2+y 2=________.解析 令t =x 2+y 2≥0,则原方程可化为(t +1)(t -3)=5,即t 2-2t -8=0. ∴t =4或t =-2(舍去),故x 2+y 2=4. 答案 44.已知关于x 的方程x 2-kx +k -2=0有两个正实根,则k 的取值范围是________.解析由题意得⎩⎨⎧(-k )2-4(k -2)≥0,k >0,k -2>0,解得k >2.答案 (2,+∞)5.求作一个一元二次方程,使它的两根分别是方程6x 2-3x -2=0的两根的平方. 解 设方程6x 2-3x -2=0的两根为x 1,x 2, 则x 1+x 2=12,x 1x 2=-13.由题意求作方程的两根为x 21,x 22,则x 21+x 22=(x 1+x 2)2-2x 1x 2=1112,x 21·x 22=(x 1x 2)2=19,故求作的一元二次方程为x 2-1112x +19=0, 即为36x 2-33x +4=0.基础达标一、选择题1.解方程(5x -1)2=3(5x -1)的适当方法是( ) A.开平方法 B.配方法 C.公式法D.因式分解法解析 由(5x -1)2=3(5x -1),得(5x -1)(5x -4)=0,再求解最简单.故选D. 答案 D2.如果x 2+2(m -2)x +9是完全平方式,那么m 的值等于( ) A.5 B.5或-1 C.-1D.-5或-1解析 由题意m -2=±3,∴m =5或m =-1. 答案 B3.下列结论正确的是( )A.若x 2=4,则x =2B.若x 2-5xy -6y 2=0(xy ≠0),则x y =6或xy =-1 C.方程x (2x -1)=2x -1的解集为{1} D.方程x 2-3x +2x -1=0的解集为{1,2}解析 对A ,由x 2=4,得x =±2;对B ,∵xy ≠0,∴方程两边同除以y 2得⎝ ⎛⎭⎪⎫x y 2-5x y -6=0,∴x y =6或xy =-1;对C ,方程可化为(2x -1)(x -1)=0,解集为⎩⎨⎧⎭⎬⎫12,1;对D ,x =1时方程无意义.故选B. 答案 B4.已知α,β是一元二次方程x 2-5x -2=0的两实数根,则α2+αβ+β2的值为( ) A.-1 B.9 C.23D.27解析 由根与系数的关系,得⎩⎨⎧α+β=5,αβ=-2,则α2+αβ+β2=(α+β)2-αβ=52+2=27. 答案 D5.小明和小华解同一个一元二次方程时,小明看错一次项,解得两根为2,-3,而小华看错常数项,解得两根为-2,5,那么原方程为( ) A.x 2-3x +6=0 B.x 2-3x -6=0 C.x 2+3x -6=0D.x 2+3x +6=0解析 设原方程为x 2+mx +n =0,其两根为x 1,x 2,由题意,得⎩⎨⎧2×(-3)=n ,-2+5=-m .∴m =-3,n =-6.选B. 答案 B 二、填空题6.设m ,n 分别为一元二次方程x 2+2x -2 018=0的两个实根,则m 2+3m +n =________.解析 ∵m ,n 是方程x 2+2x -2 018=0的两根, ∴m 2+2m -2 018=0,即m 2+2m =2 018,又m +n =-2,故m 2+3m +n =(m 2+2m )+(m +n )=2 018-2=2 016. 答案 2 0167.已知方程x 2+4x -2m =0的一个根α比另一个根β小4,则α=________,β=________,m =________.解析 由Δ=16+8m >0得m >-2,由题意α=β-4,即α-β=-4 ①,又α+β=-4 ②,由①②得α=-4,β=0,∴αβ=0=-2m ,m =0. 答案 -4 0 08.关于x 的一元二次方程x 2+2x -2m +1=0的两实数根为负,则实数m 的取值范围是________.解析 设方程两根为x 1,x 2,则x 1<0,x 2<0,∴⎩⎨⎧Δ≥0,x 1+x 2=-2,x 1x 2=-2m +1>0,∴0≤m <12. 答案 ⎣⎢⎡⎭⎪⎫0,12 三、解答题9.求下列方程的解集:(1)x 4-2x 2-8=0;(2)6x 2-1x -1=0.解 (1)令y =x 2(y ≥0),则原方程可变为y 2-2y -8=0,∴y =4或y =-2(舍去),即x 2=4,∴x =±2,∴原方程的解集为{2,-2}. (2)令y =1x ≠0,则原方程可化为6y 2-y -1=0, ∴(3y +1)(2y -1)=0, ∴y =-13或12,即1x =-13或12,∴x =-3或2,∴原方程的解集为{-3,2}.10.设x 1,x 2是方程3x 2-2x -4=0的两根,不解方程,求下列各式的值; (1)1x 1+1x 2;(2)x 2x 1+x 1x 2;(3)(x 1-x 2)2;(4)x 31+x 32.解由根与系数的关系,得⎩⎪⎨⎪⎧x 1+x 2=23,x 1x 2=-43.(1)1x 1+1x 2=x 1+x 2x 1x 2=-12.(2)x 2x 1+x 1x 2=x 21+x 22x 1x 2=(x 1+x 2)2-2x 1x 2x 1x 2=(x 1+x 2)2x 1x 2-2=-13-2=-73.(3)(x 1-x 2)2=(x 1+x 2)2-4x 1x 2=529.(4)x 31+x 32=(x 1+x 2)(x 21-x 1x 2+x 22)=(x 1+x 2)[(x 1+x 2)2-3x 1x 2] =(x 1+x 2)3-3x 1x 2(x 1+x 2)=8027.能力提升11.已知x 1,x 2是一元二次方程(a -6)x 2+2ax +a =0的两个实数根.(1)是否存在a ,使-x 1+x 1x 2=4+x 2成立?若存在,求出a 的值;若不存在,请说明理由.(2)求使(x 1+1)(x 2+1)为负整数的实数a 的整数值. 解 由题意知⎩⎨⎧a -6≠0,Δ=(2a )2-4a (a -6)≥0,∴a ≥0且a ≠6.由根与系数的关系,得⎩⎪⎨⎪⎧x 1+x 2=-2aa -6,x 1x 2=aa -6.(1)若-x 1+x 1x 2=4+x 2, 则x 1+x 2+4=x 1x 2, 即4-2a a -6=aa -6,∴a =24. 故满足条件的a 存在,且a =24.(2)∵(x 1+1)(x 2+1)=(x 1+x 2)+x 1x 2+1=a a -6-2aa -6+1=-6a -6为负整数,∴a 可取的整数为7,8,9,12.12.已知一元二次方程x 2-4x +k =0有两个不相等的实数根.(1)求k 的取值范围;(2)如果k 是符合条件的最大整数,且x 2-4x -k =0与x 2+mx +1=0有一个根相同,求此时m 的值.解 (1)由题意Δ=(-4)2-4k =4(4-k )>0,∴k <4.即k 的取值范围为(-∞,4).(2)∵k ∈(-∞,4),∴k 的最大整数为k =3.∴方程x 2-4x -k =0即x 2-4x -3=0的解集为{2-7,2+7}.设方程x 2+mx +1=0的两根为x 1,x 2,则⎩⎨⎧x 1+x 2=-m ,x 1x 2=1.若方程x 2+mx +1=0的一个根为2-7,则另一个根为12-7=-2+73, 此时m =-(x 1+x 2)=-⎝⎛⎭⎪⎫2-7-2+73=-4+473. 若方程x 2+mx +1=0的一个根为2+7,则另一个根为12+7=-2+73, 此时m =-(x 1+x 2)=-⎝ ⎛⎭⎪⎫2+7+-2+73=-4+473.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 方程求根
内容提要
二分法 迭代法
牛顿法
割线法
2
2.1 问题的提出
方程 f x 0
如果有 *使得 x* 0 x f ,则称 *为方程的根,或函数x的零点。 x f
* m
如果函数 f x 0 能写成如下形式
f x x x
11
2.2 二分法
a0 b0 a0 a, b0 b, x0 2
f(x)
f (a0) · (x0) < 0 f
x* a0 O x0 b1 b0
a1=a0, b1=x0
12
2.2 二分法
t; 0 f
a1
O a2 x1 x*
a2=x1, b2=b1
b1
本节介绍求有根区间(隔离区间)的方法。
5
2.1 问题的提出
确定根的隔离区间的具体方案:
1.作y=f(x)草图,由f(x)与横轴交点的大致位置确定隔离区间
2.将f(x)=0在求根区间内改写成f1(x)=f2(x),然后根据交点 横坐标的大致位置来确定根的隔离区间;
f(x)
a
O
x *
x b
6
2.1 问题的提出
1 bk ak k (b a) 2
14
2.2 二分法
最后一个区间的长度为:
1 bk ak k (b a) 2
误差分析:
b0 a0 b a a0 b0 有误差 |x* x0| 产生的 x0 2 2 2 b ak b a a b 第k步产生的 xk k k 有误差 |x* xk| k k 1 2 2 2
O a x*
f(x) x b
在求方程近似根的方法中,最直观、最简单的方法是 二分法。
函数f(x)在[a,b]内连续,严格单调,且有f(a)f(b)<0,则在 [a,b]内方程 f(x)=0 有且仅有1个实根,即[a,b]为原方程的 一个有根区间。 二分法基本思想:用对分区间的方法根据分点处函数f(x)值的 符号逐步将有根区间缩小,使在足够小的区间内,方程有且仅 有1个根。
y1=x 0 P2
P* Q1
P0
P1
发散的迭代法
x2
x1
x0 x*
x
30
2.3.1 迭代格式的构造及其敛散性条件
定理2.1 设有方程 x (x) ,如果函数 (x) 在区间[a,b]上具有一阶 连续导数,且满足下面两个条件: (a)当x[a,b]时, ( x) [a, b] x [a, b], 有 ' ( x) L (b)存在正常数L<1,使对任意
2 在该区间原方程等价于 e x x
x
y1 e
从图像可知,原方程在 [0.5,1]内有唯一实根。
y2 2 x
9
2.1 问题的提出
例:求 解:
x 2e
x
的有根区间。
f1 ( x) 2 x
f 2 ( x) e x
有根区间[-2,-1] 有根区间[1,2]
10
2.2 二分法
则有
(1)方程 x (x) 在区间[a,b]上有唯一的根 x *
(2)对任意初值x0[a,b],迭代公式 xk 1 ( xk ), k 0,1,2 产生的序列 {x k }收敛于方程的根 x *
31
2.3.1 迭代格式的构造及其敛散性条件
L (3) x xk 1 L xk xk 1 , k 1,2,... k xk 1 x* L * lim ' x* (4) x xk 1 L x1 x0 k 1,2,...(5) k xk x*
称为渐进误差估计式。
32
2.3.1 迭代格式的构造及其敛散性 条件
(a)当x[a,b]时, ( x) [a, b]
y y1=x y2=(x)
Q1 Q2
P 0 * x* P2 x2 x1
P0
P1 x0 x
33
2.3.1 迭代格式的构造及其敛散性 条件
(b)存在正常数L<1,使对任意 x [a, b], 有 ' ( x) L y Q1 Q2 0 P * x* P2 x2 x1 y1=x P0
gx, 且g x 0, m 1
*
则称 *为f x 0的m重根,或 x m重零点。 x f 的
一重根通常称为单根。
3
2.1 问题的提出
如果 f x 为超越函数,则称 f x 0 为超越方程;如果
f x 为n次多项式,则称 f x 0 为n次代数方程。
ln 2
16
2.2 二分法
f ( x) x3 x2 2x 1 0 例3:用二分法求方程
在区间[0,1]内的1个实根,要求有3位有效数字。
* 因 f 0.1 0 所以 x 0.1,1
由有效数字确定精度
17
2.2 二分法
18
2.2 二分法
总结
二分法的优点是计算简单,方法可靠。
因此,迭代法最重要的是如何构造一个合适的迭代公 式。
21
2.3 迭代法
粗糙的初值 基本思想:逐次逼近
方程求根 方程组求解 矩阵求特征值 ……
迭代公式
反复校正
满足精度要求的结果
22
2.3.1 迭代格式的构造及其敛散性条件
方程 x 0在区间a, b内有一个根 f x
*
在区间[a, b]内将原方程改写成同解 方程x x
15
2.2 二分法
对于给定的精度
ba ba 因为 x xk k 1 取 k 1 ε 2 2
*
x * xk ε 则有
对于给定的精度 ,可估计二分法所需的步数 k :
ba x xk k 1 ε 2
*
lnb a ln ε 1 k
确定根的隔离区间的具体方案:
O a x *
f(x) x
b
3.逐步搜索,f(x)在连续区间[a,b]内选择一系列的x值,x1, x2, …, xk, 看f(x)在这些点的符号变化情况,出现2个相邻 点上函数值异号,则在此小区间至少有1个实根。 数学依据: 函数f(x)在[a,b]内连续,严格单调,且有f(a)f(b)<0,则在 [a,b]内方程 f(x)=0 有且仅有1个实根。
x1 6.5 x2 19 .625 x3 191 .070
k变大时,xk远离原方程的精确根。
27
2.3.1 迭代格式的构造及其敛散性条件
一般来说,方程可以写成多种等价形式 x x 。关键是这 xk 样构造的迭代公式 xk 1 xk ,当 时, 是否与 k 精确根无限接近。 如何构造 x ?
二分法的缺点是不能求偶数重根,也不能求复根,收 敛速度不快。
19
2.2 二分法
总结
二分法一般在求方程根时不太单独使用,常用 来为其它方法求方程近似根时提供好的初值。 方程求根最常用的方法是迭代法。
20
2.3 迭代法
迭代法是数值计算中一类典型方法,被用于方程求根、 方程组求解、矩阵求特征值等。 迭代法的基本思想是一种逐次逼近的方法,首先给一 个粗糙的初值,然后用同一个迭代公式,反复校正这 个初值,直到满足预先给出的精度要求为止。
7
2.1 问题的提出
例 1 求 f x x3 3x2 4x 3 0 的有根区间。
解:可以利用函数图像求,但比较复杂。
' 因为 f x 在 , 内保号,即
f x 3x 1 1 0
' 2
f x 是单调增加函数,所以原方程在实数域内最多只有一 个实根。
理论证明,对于次数大于等于5的代数方程,它的根 不能用方程系数的解析式表示。对于一般的超越方程, 更没有求根的公式。
实际问题中,求方程的根时,不一定需要得到根的准 确值,而只需要求得满足一定精度的近似根就可以。
4
2.1 问题的提出
方程的求根问题,一般分两步进行:
1.
2.
求根的隔离区间。确定根所在的区间,使方程在这个 小区间内有且仅有一个根,这一过程称为根的隔离。 所得小区间称为根的隔离区间或有根区间。所求隔离 区间越小越好。这一步可以获得方程各个根的近似值。 将根精确化。已知一个根的近似值后,再用一种方法 把此近似值精确化,使其满足给定的精度要求。
*
L x xk xk xk 1 , k 1,2,... 1 L 用计算结果 xk与xk 1 来估计误差,因而称为误差事后估计式。
说明:
*
Lk x* xk x1 x0 1 L
k 1,2,...
称为误差事前估计式。
xk 1 x* lim ' x* k x x* k
例 给定方程 f x x2 2x 3 0,它在[2,4]内有唯一根 x *
(1)
x 2x 3
( x) 2 x 3
取 x0 4
xk 1 2xk 3, k 0,1,2,...
25
2.3.1 迭代格式的构造及其敛散性条件
x1 2 x0 3 11 3.317 x2 2 x1 3 3.104 x3 2 x2 3 3.034 x4 2 x3 3 3.011 x5 2 x4 3 3.004
xk
是否收敛?
怎样估计误差?
28
2.3.1 迭代格式的构造及其敛散性条件
y
xk 1 xk
Q1
y1=x
y2=(x) P0