设函数
f
(
x
)
=
x
3
−
3
x
2
+
6
x
−
1
,
f
(
x
)
在
[
0
,
1
]
上连续,且
f
(
0
)
=
−
1
<
0
,
f
(
1
)
=
3
>
0
,
由零点定理可知至少存在一点
ξ
∈
(
0
,
1
)
,使
f
(
ξ
)
=
0
,则方程在
(
0
,
1
)
内至少有一个实根。
因
f
′
(
x
)
=
3
x
2
−
6
x
+
6
=
3
(
x
−
1
)
2
+
3
>
0
,所以函数
f
(
x
)
在
[
0
,
1
]
上单调增加,即方程
f
(
x
)
=
0
,
在
(
0
,
1
)
内最多有一个实根。所以,方程
x
3
−
3
x
2
+
6
x
−
1
=
0
在区间
(
0
,
1
)
内有唯一的实根。
二分法求近似值:
ξ
1
=
0.5
,
f
(
ξ
1
)
=
1.375
>
0
,故
a
1
=
0
,
b
1
=
0.5
;
ξ
2
=
0.25
,
f
(
ξ
2
)
=
0.328
>
0
,故
a
2
=
0
,
b
2
=
0.25
;
ξ
3
=
0.125
,
f
(
ξ
3
)
=
−
0.295
<
0
,故
a
3
=
0.125
,
b
3
=
0.25
;
ξ
4
=
0.188
,
f
(
ξ
4
)
=
0.026
>
0
,故
a
4
=
0.125
,
b
4
=
0.188
;
ξ
5
=
0.157
,
f
(
ξ
5
)
=
−
0.132
<
0
,故
a
5
=
0.157
,
b
5
=
0.188
;
ξ
6
=
0.173
,
f
(
ξ
6
)
=
−
0.052
<
0
,故
a
6
=
0.173
,
b
6
=
0.188
;
ξ
7
=
0.18
,
f
(
ξ
7
)
=
−
0.013
<
0
,故
a
7
=
0.18
,
b
7
=
0.188
;
ξ
8
=
0.184
,
f
(
ξ
8
)
=
0.007
>
0
,故
a
8
=
0.18
,
b
8
=
0.184
;
ξ
9
=
0.182
,
f
(
ξ
9
)
=
−
0.003
<
0
,故
a
9
=
0.182
,
b
9
=
0.184
;
ξ
10
=
0.183
,
f
(
ξ
1
0
)
=
0.002
>
0
,故
a
10
=
0.182
,
b
10
=
0.183
;
ξ
11
=
0.183
,
f
(
ξ
1
1
)
=
0.002
>
0
使误差不超过
0.01
的根的近似值为
ξ
=
0.183.
设函数f(x)=x3−3x2+6x−1,f(x)在[0, 1]上连续,且f(0)=−1<0,f(1)=3>0, 由零点定理可知至少存在一点ξ∈(0, 1),使f(ξ)=0,则方程在(0, 1)内至少有一个实根。 因f′(x)=3x2−6x+6=3(x−1)2+3>0,所以函数f(x)在[0, 1]上单调增加,即方程f(x)=0, 在(0, 1)内最多有一个实根。所以,方程x3−3x2+6x−1=0在区间(0, 1)内有唯一的实根。 二分法求近似值: ξ1=0.5,f(ξ1)=1.375>0,故a1=0,b1=0.5; ξ2=0.25,f(ξ2)=0.328>0,故a2=0,b2=0.25; ξ3=0.125,f(ξ3)=−0.295<0,故a3=0.125,b3=0.25; ξ4=0.188,f(ξ4)=0.026>0,故a4=0.125,b4=0.188; ξ5=0.157,f(ξ5)=−0.132<0,故a5=0.157,b5=0.188; ξ6=0.173,f(ξ6)=−0.052<0,故a6=0.173,b6=0.188; ξ7=0.18,f(ξ7)=−0.013<0,故a7=0.18,b7=0.188; ξ8=0.184,f(ξ8)=0.007>0,故a8=0.18,b8=0.184; ξ9=0.182,f(ξ9)=−0.003<0,故a9=0.182,b9=0.184; ξ10=0.183,f(ξ10)=0.002>0,故a10=0.182,b10=0.183; ξ11=0.183,f(ξ11)=0.002>0 使误差不超过0.01的根的近似值为ξ=0.183.
设函数f(x)=x3−3x2+6x−1,f(x)在[0, 1]上连续,且f(0)=−1<0,f(1)=3>0, 由零点定理可知至少存在一点ξ∈(0, 1),使f(ξ)=0,则方程在(0, 1)内至少有一个实根。 因f′(x)=3x2−6x+6=3(x−1)2+3>0,所以函数f(x)在[0, 1]上单调增加,即方程f(x)=0, 在(0, 1)内最多有一个实根。所以,方程x3−3x2+6x−1=0在区间(0, 1)内有唯一的实根。 二分法求近似值: ξ1=0.5,f(ξ1)=1.375>0,故a1=0,b1=0.5; ξ2=0.25,f(ξ2)=0.328>0,故a2=0,b2=0.25; ξ3=0.125,f(ξ3)=−0.295<0,故a3=0.125,b3=0.25; ξ4=0.188,f(ξ4)=0.026>0,故a4=0.125,b4=0.188; ξ5=0.157,f(ξ5)=−0.132<0,故a5=0.157,b5=0.188; ξ6=0.173,f(ξ6)=−0.052<0,故a6=0.173,b6=0.188; ξ7=0.18,f(ξ7)=−0.013<0,故a7=0.18,b7=0.188; ξ8=0.184,f(ξ8)=0.007>0,故a8=0.18,b8=0.184; ξ9=0.182,f(ξ9)=−0.003<0,故a9=0.182,b9=0.184; ξ10=0.183,f(ξ10)=0.002>0,故a10=0.182,b10=0.183; ξ11=0.183,f(ξ11)=0.002>0 使误差不超过0.01的根的近似值为ξ=0.183.
#include
#include
#include
int main() {
float xi, a, b;
a=0;
b=1;
float fx;
for(int i=0; i<12; i++){
xi=(a+b)/2;
fx=pow(xi, 3)-3*pow(xi, 2)+6*xi-1;
printf("xi=%2.3f fx=%2.3f a=%2.3f b=%2.3f\n", xi, fx, a, b);
if(fx>0){
a=a;
b=xi;
}
else if(fx<0){
a=xi;
b=b;
}
}
system("pause");
return 0;
}
设函数
f
(
x
)
=
x
5
+
5
x
+
1
,
f
(
x
)
在
[
−
1
,
0
]
上连续,且
f
(
−
1
)
=
−
5
<
0
,
f
(
0
)
=
1
>
0
,
由零点定理可知至少存在一点
ξ
∈
(
−
1
,
0
)
,使
f
(
ξ
)
=
0
,则方程在区间
(
−
1
,
0
)
内至少有一实根。
因为
f
′
(
x
)
=
5
x
4
+
5
>
0
,所以
f
(
x
)
在
[
−
1
,
0
]
上单调增加,即方程
f
(
x
)
=
0
,
在
(
−
1
,
0
)
内最多有一个实根,所以,方程
x
5
+
5
x
+
1
=
0
在区间
(
−
1
,
0
)
内有唯一的实根。
切线法求近似值:
f
′
′
(
x
)
=
20
x
3
,
f
′
′
(
−
1
)
=
−
20
<
0
,取
x
0
=
−
1
,用公式
x
n
=
x
n
−
1
−
f
(
x
n
−
1
)
f
′
(
x
n
−
1
)
得
x
1
=
x
0
−
f
(
x
0
)
f
′
(
x
0
)
=
−
0.5
x
2
=
x
1
−
f
(
x
1
)
f
′
(
x
1
)
≈
−
0.21
x
3
=
x
2
−
f
(
x
2
)
f
′
(
x
2
)
≈
−
0.2
x
4
=
x
3
−
f
(
x
3
)
f
′
(
x
3
)
≈
−
0.2
使误差不超过
0.01
的根的近似值为
ξ
=
−
0.2.
设函数f(x)=x5+5x+1,f(x)在[−1, 0]上连续,且f(−1)=−5<0,f(0)=1>0, 由零点定理可知至少存在一点ξ∈(−1, 0),使f(ξ)=0,则方程在区间(−1, 0)内至少有一实根。 因为f′(x)=5x4+5>0,所以f(x)在[−1, 0]上单调增加,即方程f(x)=0, 在(−1, 0)内最多有一个实根,所以,方程x5+5x+1=0在区间(−1, 0)内有唯一的实根。 切线法求近似值: f″(x)=20x3,f″(−1)=−20<0,取x0=−1,用公式xn=xn−1−f(xn−1)f′(xn−1)得 x1=x0−f(x0)f′(x0)=−0.5 x2=x1−f(x1)f′(x1)≈−0.21 x3=x2−f(x2)f′(x2)≈−0.2 x4=x3−f(x3)f′(x3)≈−0.2 使误差不超过0.01的根的近似值为ξ=−0.2.
设函数f(x)=x5+5x+1,f(x)在[−1, 0]上连续,且f(−1)=−5<0,f(0)=1>0, 由零点定理可知至少存在一点ξ∈(−1, 0),使f(ξ)=0,则方程在区间(−1, 0)内至少有一实根。 因为f′(x)=5x4+5>0,所以f(x)在[−1, 0]上单调增加,即方程f(x)=0, 在(−1, 0)内最多有一个实根,所以,方程x5+5x+1=0在区间(−1, 0)内有唯一的实根。 切线法求近似值: f′′(x)=20x3,f′′(−1)=−20<0,取x0=−1,用公式xn=xn−1−f′(xn−1)f(xn−1)得 x1=x0−f′(x0)f(x0)=−0.5 x2=x1−f′(x1)f(x1)≈−0.21 x3=x2−f′(x2)f(x2)≈−0.2 x4=x3−f′(x3)f(x3)≈−0.2 使误差不超过0.01的根的近似值为ξ=−0.2.
#include
#include
#include
int main() {
float x, xn;
xn=-1;
float fx, fx1;
for(int i=0; i<4; i++){
fx=pow(xn, 5)+5*xn+1;
fx1=5*pow(xn, 4)+5;
x=xn-fx/fx1;
printf("x=%3.2f\n", x);
xn=x;
}
system("pause");
return 0;
}
设函数
f
(
x
)
=
x
3
+
3
x
−
1
,
f
(
x
)
在
[
0
,
1
]
上连续,且
f
(
0
)
=
−
1
<
0
,
f
(
1
)
=
3
>
0
,
由零点定理可知至少存在一点
ξ
∈
(
0
,
1
)
,使
f
(
ξ
)
=
0
,因
f
′
(
x
)
=
3
x
2
+
3
>
0
,
所以
f
(
x
)
在
[
0
,
1
]
上单调增加,方程在
(
0
,
1
)
内有唯一实根。
割线法求近似值:
f
′
′
(
x
)
=
6
x
,
f
′
′
(
1
)
=
6
>
0
,取
x
0
=
1
,
x
1
=
0.8
,利用公式
x
n
+
1
=
x
n
−
x
n
−
x
n
−
1
f
(
x
n
)
−
f
(
x
n
−
1
)
⋅
f
(
x
n
)
得
x
2
=
x
1
−
x
1
−
x
0
f
(
x
1
)
−
f
(
x
0
)
⋅
f
(
x
1
)
≈
0.449
x
3
=
x
2
−
x
2
−
x
1
f
(
x
2
)
−
f
(
x
1
)
⋅
f
(
x
2
)
≈
0.345
x
4
=
x
3
−
x
3
−
x
2
f
(
x
3
)
−
f
(
x
2
)
⋅
f
(
x
3
)
≈
0.323
x
5
=
x
4
−
x
4
−
x
3
f
(
x
4
)
−
f
(
x
3
)
⋅
f
(
x
4
)
≈
0.322
取
0.32
作为根的近似值,其误差小于
0.01.
设函数f(x)=x3+3x−1,f(x)在[0, 1]上连续,且f(0)=−1<0,f(1)=3>0, 由零点定理可知至少存在一点ξ∈(0, 1),使f(ξ)=0,因f′(x)=3x2+3>0, 所以f(x)在[0, 1]上单调增加,方程在(0, 1)内有唯一实根。 割线法求近似值: f″(x)=6x,f″(1)=6>0,取x0=1,x1=0.8,利用公式xn+1=xn−xn−xn−1f(xn)−f(xn−1)⋅f(xn)得 x2=x1−x1−x0f(x1)−f(x0)⋅f(x1)≈0.449 x3=x2−x2−x1f(x2)−f(x1)⋅f(x2)≈0.345 x4=x3−x3−x2f(x3)−f(x2)⋅f(x3)≈0.323 x5=x4−x4−x3f(x4)−f(x3)⋅f(x4)≈0.322 取0.32作为根的近似值,其误差小于0.01.
设函数f(x)=x3+3x−1,f(x)在[0, 1]上连续,且f(0)=−1<0,f(1)=3>0, 由零点定理可知至少存在一点ξ∈(0, 1),使f(ξ)=0,因f′(x)=3x2+3>0, 所以f(x)在[0, 1]上单调增加,方程在(0, 1)内有唯一实根。 割线法求近似值: f′′(x)=6x,f′′(1)=6>0,取x0=1,x1=0.8,利用公式xn+1=xn−f(xn)−f(xn−1)xn−xn−1⋅f(xn)得 x2=x1−f(x1)−f(x0)x1−x0⋅f(x1)≈0.449 x3=x2−f(x2)−f(x1)x2−x1⋅f(x2)≈0.345 x4=x3−f(x3)−f(x2)x3−x2⋅f(x3)≈0.323 x5=x4−f(x4)−f(x3)x4−x3⋅f(x4)≈0.322 取0.32作为根的近似值,其误差小于0.01.
#include
#include
#include
int main() {
float xn0, xn1, r;
xn0=1.0;
xn1=0.8;
float fx0, fx1;
for(int i=0; i<6; i++){
fx0=pow(xn0, 3)+3*xn0-1;
fx1=pow(xn1, 3)+3*xn1-1;
r=xn1-(xn1-xn0)/(fx1-fx0)*fx1;
printf("r=%2.3f\n", r);
xn0=xn1;
xn1=r;
}
system("pause");
return 0;
}
设函数
f
(
x
)
=
x
l
g
x
−
1
,
f
(
x
)
在
[
1
,
3
]
上连续,且
f
(
1
)
=
−
1
<
0
,
f
(
3
)
=
3
l
g
3
−
1
>
0
,
由零点定理可知至少存在一点
ξ
∈
(
1
,
3
)
,使
f
(
ξ
)
=
0
,方程在区间
(
1
,
3
)
内至少有一实根,
因为
f
′
(
x
)
=
l
g
x
+
x
⋅
1
x
l
n
10
=
l
g
x
+
1
l
n
10
>
0
(
x
≥
1
)
,所以函数在
[
1
,
3
]
上单调增加,方程
f
(
x
)
=
0
,
即
x
l
g
x
=
1
在
(
1
,
3
)
内最多有一个实根,所以方程
x
l
g
x
=
1
在
(
1
,
3
)
内有唯一的实根。
二分法求根的近似值:
ξ
1
=
2
,
f
(
ξ
1
)
=
−
0.395
<
0
,故
a
1
=
2
,
b
1
=
3
;
ξ
2
=
2.5
,
f
(
ξ
2
)
=
−
0.005
<
0
,故
a
2
=
2.5
,
b
2
=
3
;
ξ
3
=
2.75
,
f
(
ξ
3
)
=
0.208
>
0
,故
a
3
=
2.5
,
b
3
=
2.75
;
ξ
4
=
2.63
,
f
(
ξ
4
)
=
0.1
>
0
,故
a
4
=
2.5
,
b
4
=
2.63
;
ξ
5
=
2.57
,
f
(
ξ
5
)
=
0.047
>
0
,故
a
5
=
2.5
,
b
5
=
2.57
;
ξ
6
=
2.53
,
f
(
ξ
6
)
=
0.021
>
0
,故
a
6
=
2.5
,
b
6
=
2.53
;
ξ
7
=
2.52
,
f
(
ξ
7
)
=
0.008
>
0
,故
a
7
=
2.5
,
b
7
=
2.52
;
ξ
8
=
2.51
,
f
(
ξ
8
)
=
0.001
>
0
,故
a
8
=
2.5
,
b
8
=
2.51
;
ξ
9
=
2.51
,
f
(
ξ
9
)
=
0.001
>
0
所以误差不超过
0.01
的根的近似值为
ξ
=
2.51.
设函数f(x)=xlg x−1,f(x)在[1, 3]上连续,且f(1)=−1<0,f(3)=3lg 3−1>0, 由零点定理可知至少存在一点ξ∈(1, 3),使f(ξ)=0,方程在区间(1, 3)内至少有一实根, 因为f′(x)=lg x+x⋅1xln 10=lg x+1ln 10>0 (x≥1),所以函数在[1, 3]上单调增加,方程f(x)=0, 即xlg x=1在(1, 3)内最多有一个实根,所以方程xlg x=1在(1, 3)内有唯一的实根。 二分法求根的近似值: ξ1=2,f(ξ1)=−0.395<0,故a1=2,b1=3; ξ2=2.5,f(ξ2)=−0.005<0,故a2=2.5,b2=3; ξ3=2.75,f(ξ3)=0.208>0,故a3=2.5,b3=2.75; ξ4=2.63,f(ξ4)=0.1>0,故a4=2.5,b4=2.63; ξ5=2.57,f(ξ5)=0.047>0,故a5=2.5,b5=2.57; ξ6=2.53,f(ξ6)=0.021>0,故a6=2.5,b6=2.53; ξ7=2.52,f(ξ7)=0.008>0,故a7=2.5,b7=2.52; ξ8=2.51,f(ξ8)=0.001>0,故a8=2.5,b8=2.51; ξ9=2.51,f(ξ9)=0.001>0 所以误差不超过0.01的根的近似值为ξ=2.51.
设函数f(x)=xlg x−1,f(x)在[1, 3]上连续,且f(1)=−1<0,f(3)=3lg 3−1>0, 由零点定理可知至少存在一点ξ∈(1, 3),使f(ξ)=0,方程在区间(1, 3)内至少有一实根, 因为f′(x)=lg x+x⋅xln 101=lg x+ln 101>0 (x≥1),所以函数在[1, 3]上单调增加,方程f(x)=0, 即xlg x=1在(1, 3)内最多有一个实根,所以方程xlg x=1在(1, 3)内有唯一的实根。 二分法求根的近似值: ξ1=2,f(ξ1)=−0.395<0,故a1=2,b1=3; ξ2=2.5,f(ξ2)=−0.005<0,故a2=2.5,b2=3; ξ3=2.75,f(ξ3)=0.208>0,故a3=2.5,b3=2.75; ξ4=2.63,f(ξ4)=0.1>0,故a4=2.5,b4=2.63; ξ5=2.57,f(ξ5)=0.047>0,故a5=2.5,b5=2.57; ξ6=2.53,f(ξ6)=0.021>0,故a6=2.5,b6=2.53; ξ7=2.52,f(ξ7)=0.008>0,故a7=2.5,b7=2.52; ξ8=2.51,f(ξ8)=0.001>0,故a8=2.5,b8=2.51; ξ9=2.51,f(ξ9)=0.001>0 所以误差不超过0.01的根的近似值为ξ=2.51.
#include
#include
#include
int main() {
float xi, a, b;
a=1;
b=3;
float fx;
for(int i=0; i<10; i++){
xi=(a+b)/2;
fx=xi*log10(xi)-1;
printf("xi=%2.2f fx=%2.3f a=%2.2f b=%2.2f\n", xi, fx, a, b);
if(fx>0){
a=a;
b=xi;
}
else if(fx<0){
a=xi;
b=b;
}
}
system("pause");
return 0;
}