Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по QBasic.doc
Скачиваний:
4
Добавлен:
29.04.2019
Размер:
5.12 Mб
Скачать

Метод половинного ділення

Розглянемо теорію методу половинного ділення для розв’язання трансцендентного рівняння. Формулювання задачі: при зміні аргументу X від A (ліва границя) до B (права границя) на відрізку [A,B] функція y=f(x) має корінь X0 , що обертає функцію Y на нуль (y=f(x0)=0). Треба визначити значення кореня X0 з точністю , яка може дорівнювати: 0,1; 0,01; 0,001.

Сутність методу половинного ділення полягає в поступовому зменшенні відрізка [А; В] шляхом його багаторазового поділу навпіл і переносу правої чи лівої границі в точку поділу S=(А+В)/2. Якщо f(S)=0, то знайдена точка і є значенням кореня, однак так трапляється не часто. В основному ж має місце один з двох випадків: точка S знаходиться на графіку функції y=f(x) зліва (рис. 6.2а) чи справа (рис. 6.2б) від значення кореня x0. В першому випадку (значення yA і yS мають однаковий знак або, що те ж саме,yА * yВ >0) ліва границя А переміщується в точку поділу S. У другому випадку (значення yA і yS мають різні знаки або, що те ж саме,yА * yВ <0) права границя В переміщується в точку поділу S. Далі процедура звуження інтервалу повторюється, поки модуль різниці між значеннями А і В не стане менше .

Зразок виконання завдання

На заданому відрізку [A,B] задана неперервна функція Y=F(X)= -х5+arctg ln(-4,37х2 )+7,2354.

Відомо, що на кінцях відрізка [A, B] функція має різні знаки(F(A)*F(B)<0).

Обчислити корінь функції на [A,B] з заданою точністю .

REM Лабораторна робота № 6

REM Метод половинного ділення

INPUT "Введіть кінці відрізка [A,B] та точність обчислення кореня"; A, B, E

DEF FNY (X) = -X^5+ATN(LOG(ABS(-4.37 * X ^ 2))) + 7.2354

M = FNY(A): N = FNY(B)

IF M * N < 0 THEN

DO WHILE ABS(A - B) > E

X = (A + B) / 2: Y = FNY(X): PRINT A, X, B, Y

IF M * Y < 0 THEN

B = X: N = Y

ELSE

A = X: M = Y

END IF

LOOP

X = (A + B) / 2

PRINT "Корінь функції Х0="; X, "Y="; INT(Y)

ELSE

PRINT "На даному відрізку [A,B] кореня нема"

END IF

END

Контрольні запитання

1. Правила використання оператора WHILE…WEND.

2. Оператор DO…LOOP.

3. В якому місці програми розміщується оператор-функція?

4. Як записується і функціонує оператор-функція?

5. Як звернутися до оператору-функції?

6 Сутність методу половинного ділення.

Варіанти завдань

Методом половинного ділення обчислити корінь рівняння виду F(x)=0, що розташований на відрізку [A, B], із заданою точністю E.

№ зав­дан­ня

Вид функції

Межі зміни аргу­менту

Точність обчислень

1

[0;1]

10-3

2

[2;3]

10-3

3

[1.2;2]

10-4

4

[0;1.5]

10-5

5

[2;3]

10-4

6

[0;0.85]

0,5 * 10-4

7

[2;3]

0,5 * 10-4

8

[1;2]

0,5 * 10 -3

9

[0.5;1]

10-3

10

[0;1]

10-3

11

[0;1]

10-5

12

[2;4]

0,5 * 10-3

13

[1;2]

10-3

14

[0;1]

0,5 * 10-3

15

[0.5;0.6]

10-3