Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМ Ls Pro All 22-27.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.35 Mб
Скачать

Программный вывод:

Код программы:

program asd_L2;

function Fpr(e:real):real; begin Fpr:=3*e*e-3; end;

function F(e:real):real; begin F:=e*e*e-3*e-3; end;

procedure UhK(a,b:real);

var q,c,epsilon,dx,n,h,max,min:real;

begin

n:=0;

h:=0.25;

epsilon:=0.0001;

a:=a-epsilon;

b:=b+epsilon;

max:=Fpr(a);

Min:=Fpr(a);

c:=a;

while(a<b)do begin

a:=a+h;

if(max<Fpr(a))then max:=Fpr(a);

if(min>Fpr(a))then min:=Fpr(a);

end;

writeln('min = ',min:2:2);

writeln('max = ',max:2:2);

a:=c;

q:=1-min/max;

writeln('search in [',a:2:2,'; ',b:2:2,']: ...');

repeat

n:=n+1;

a:=a-F(a)/max;

writeln('a = ',a:2:9 );

dx:=abs(F(a)/max);

until (q/(1-q)*dx<epsilon);

writeln('naiden koren: ',a:2:9);

writeln('chislo iteracii = ',n:2:0,'; epsilon = ', epsilon:9:9);

end;

var f1:real;

i:integer;

begin

writeln('poisk diapazonov korney:...');

f1:=f(-1001);

for i:=-3 to 4 do begin

if(f1*f(i)<0) then begin

f1:=f(i);

writeln('naiden diapazon: [', i-1, '; ',i, '];');

UhK(i-1,i);

end;

end;

writeln('exit:..');

readln;

end.

Лабораторная работа № 3

Тема: Решение нелинейных уравнений. Метод хорд.

Постановка задачи:

1. Отделить корни уравнения графически и программно.

2. Уточнить корни уравнения методом хорд с точностью .

3. Нарисовать схему применения метода к каждому корню уравнения.

Решение задачи: Отделим корни этого уравнения графически (можно и программно). Для этого построим график функции и найдем абсциссы точек пересечения графиков этих функций: .

x

y

y '

y ''

-2

-4,6

10,8

-12

-1,9

-3,579

9,63

-11,4

-1,8

-2,672

8,52

-10,8

-1,7

-1,873

7,47

-10,2

-1,6

-1,176

6,48

-9,6

-1,5

-0,575

5,55

-9

-1,4

-0,064

4,68

-8,4

-1,3

0,363

3,87

-7,8

-1,2

0,712

3,12

-7,2

-1,1

0,989

2,43

-6,6

-1

1,2

1,8

-6

-0,9

1,351

1,23

-5,4

-0,8

1,448

0,72

-4,8

-0,7

1,497

0,27

-4,2

-0,6

1,504

-0,12

-3,6

-0,5

1,475

-0,45

-3

-0,4

1,416

-0,72

-2,4

-0,3

1,333

-0,93

-1,8

-0,2

1,232

-1,08

-1,2

-0,1

1,119

-1,17

-0,6

0

1

-1,2

0

0,1

0,881

-1,17

0,6

0,2

0,768

-1,08

1,2

0,3

0,667

-0,93

1,8

0,4

0,584

-0,72

2,4

0,5

0,525

-0,45

3

0,6

0,496

-0,12

3,6

0,7

0,503

0,27

4,2

0,8

0,552

0,72

4,8

0,9

0,649

1,23

5,4

1

0,8

1,8

6

1,1

1,011

2,43

6,6

1,2

1,288

3,12

7,2

1,3

1,637

3,87

7,8

1,4

2,064

4,68

8,4

1,5

2,575

5,55

9

1,6

3,176

6,48

9,6

1,7

3,873

7,47

10,2

1,8

4,672

8,52

10,8

1,9

5,579

9,63

11,4

2

6,6

10,8

12

Уточним корень методом хорд. Для этого определим знаки функции y(x) и второй ее производной y ’’{x} на этом отрезке .

Поскольку , то подвижной точкой на всем диапазоне является точка а. Получим следующую таблицу, в которой , , , подвижная точка , а начальная точка , :

b

f(b)

 

 

 

 

-1

1,2

 

 

 

 

a

f(a)

dx=xn-a

hn

dh

dx

-1,5

-0,575

-0,5

0,409787

 

 

-1,33802817

0,210136039

-0,33802817

0,375318

-0,03446934

0,16197183

-1,40978742

-0,11020842

-0,40978742

0,391285

0,01596697

-0,0717593

-1,37531808

0,048967787

-0,37531808

0,383759

-0,00752564

0,03446934

-1,39128505

-0,02353237

-0,39128505

0,387278

0,00351857

-0,015967

-1,38375941

0,01090246

-0,38375941

0,385627

-0,00165134

0,00752564

-1,38727798

-0,00513866

-0,38727798

0,3864

0,00077363

-0,0035186

-1,38562664

0,002402583

-0,38562664

0,386038

-0,00036274

0,00165134

-1,38640028

-0,00112758

-0,38640028

0,386208

0,00017001

-0,0007736

-1,38603754

0,000528259

-0,38603754

0,386128

-7,97E-05

0,00036274

-1,38620755

-0,00024769

-0,38620755

0,386165

3,7359E-05

-0,00017

-1,38612785

0,000116091

-0,38612785

0,386148

-1,7512E-05

7,97E-05

-1,38616521

-5,4421E-05

-0,38616521

-1

-1,3861477

-3,736E-05

x

y

y '

-1,38620755

-0,00024768

4,564714115

Оценим погрешность приближения на отрезке : . Тогда используя оценку погрешности , , получим , Следовательно, приближенное значение корня равно .

Запишем приближенное значение корня только верными значащими цифрами в узком смысле. Имеем , , . Округлим до . Получим , . . Найдем число верных знаков для . Имеем , , . Так как , получим приближенное значение корня с числом верных знаков .

Ответ: .