1 .
, . , , .
-
2 .
. , , , ..
. . , .
( )
, .
, .
, - . , , .
, , . , - , - . . , , , . , , . , =(a+b)/2 ( ). , - . , , . . , (, , ), , .
.
,
( MATLAB (M-) ( )).
eps=0.001, xk=3.
,
K | b | c=(a+b)/2 | f(a) | f (b) | f(c) | b-a | |
3.0 | 1.5 | -2.92 | 9.79 | 0.51 | 3.0 | ||
1.5 | 0.75 | -2.92 | 0.51 | -0.67 | 1.5 | ||
0.75 | 1.5 | 1.125 | -0.67 | 0.51 | -0.11 | 0.75 | |
1.125 | 1.5 | 1.3125 | -0.11 | 0.51 | 0.173 | 0.375 | |
1.125 | 1.3125 | 1.218 | -0.11 | 0.173 | 0.0267 | 0.187 |
.
|
|
-. -.
%
function Lab_3_6_1
a=input(' a=');
b=input(' b=');
eps=input(' eps=');
kmax=100;
for k=1:kmax
c=(a+b)/2;
y=f(c);
if(f(a)*y>0)
a=c;
else
b=c;
end
if((b-a)<=eps)|(y==0)|(k>=kmax)
x=c;
break;
end
end
fprintf('\n x=%10.3f ',x);
fprintf('\n f(x)=%12.4g',y);
fprintf('\n k=%3d',k);
end
function y=f(x)
y=x^3-3.2*x^2+4.84*x-2.928;
end
a=0, b=0, eps=0.001:
x= 1.200
f(x)= 0.0006505
k= 12
.
.
, .
, .
, , , . B.
B
,
,
k | |||||
3.0 | 9.79 | 12.64 | 2.22 | 0.78 | |
2.22 | 3.01 | 5.45 | 1.67 | 0.55 | |
1.67 | 0.89 | 2.52 | 1.32 | 0.35 | |
1.32 | 0.18 | 1.62 | 1.20 | 0.12 | |
1.2 |
0,001.
-. -.
.
function Lab_3_6_2
xk=input(' xk=');
eps=input(' eps=');
kmax=100;
for k=1:kmax
y=f(xk);
y1=f1(xk);
xk1=xk-y/y1;
if(abs(xk1-xk)<eps)|(k>kmax)
break;
end
xk=xk1;
end
y2=f(xk1);
fprintf('\n x=%10.3f',xk1);
fprintf('\n f(x)=%12.4g',y);
fprintf('\n k=%3d',k);
end
function y=f(x)
y=x^3-3.2*x^2+4.84*x-2.928;
end
function y1=f1(x)
y1=3*x^2-6.4*x+4.84;
end
xk=3, eps=0.001:
x= 1.200
f(x)= 0.0009755
k= 3
MATLAB , , , , .
, ( )
Pn(x)=anxn+an-1xn-1+...+a2x2+a1x+a0
a0, a1, a2, , an-1, an .
MATLAB ,
, ,
>> p=[5 -4 2 -1 8]
p =
5 -4 2 -1 8