Добавил:
19-КСУ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика 2 семестр / Laboratornaya_rabota_5_-_vypolnenie_2_semestr

.pdf
Скачиваний:
2
Добавлен:
16.09.2022
Размер:
911.63 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА №5

Решение нелинейного уравнения с одной неизвестной.

1.Шаговый метод.

Постановка задачи. Для данного нелинейного уравнения x2-5 x+6=0 с одной неизвестной величиной на промежутке [2,2;3,5] найти интервал изоляции корня с шагом h=0,15

Ручной счет

x

f(x)

f(xi)*f(xi+1)

x0=2,2

x02 – 5* x0+6=2,22 -5*2,2+6=-0,160

 

x1= x0+h=2,2+0,15=2,35

x12 – 5* x1+6=2,352 -5*2,35+6= - 0,228

f(x0)*f(x1)=

 

 

(-0,160)*(-0,228)>0

 

 

 

x2= x1+h=2,35+0,15=2,5

x22 – 5* x2+6=2,52 -5*2,5+6= - 0,250

f(x1)*f(x2)=

 

 

(-0,228)*( - 0,250)>0

 

 

 

x3= x2+h=2,5+0,15=2,65

x32 – 5* x3+6=2,652 -5*2,65+6= - 0,228

f(x2)*f(x3)=

 

 

(- 0,250)*(-0,228)>0

 

 

 

x4= x3+h=2,65+0,15=2,8

x42 – 5* x4+6=2,82 -5*2,8+6= - 0,160

f(x3)*f(x4)=

 

 

(-0,228)*(-0,160)>0

 

 

 

x5= x4+h=2,8+0,15=2,95

x52 – 5* x5+6=2,952 -5*2,95+6= - 0,047

f(x4)*f(x5)=

 

 

(-0,160)*(-0,047)>0

 

 

 

x6= x5+h=2,95+0,15=3,1

x62 – 5* x6+6=3,12 -5*3,1+6=0,110

f(x5)*f(x6)=

 

 

( - 0,047)*0,110<0

 

 

[x5 ;x6 ] =[2,95;3,1]

 

 

интервал изоляции

 

 

корня

x7= x6+h=3,1+0,15=3,25

x72 – 5* x7+6=3,252 -5*3,25+6= 0,313

f(x6)*f(x7)=

 

 

(0,110)*(0,313)>0

 

 

 

x8= x7+h=3,25+0,15=3,4

x82 – 5* x8+6=3,42 -5*3,4+6= 0,560

f(x7)*f(x8)

 

 

(0,313)*(0,560)>0

 

 

 

Вывод: в точке х5=2,95 значение функции f(x5)<0, в точке х6=3,1 значение функции f(x6)>0, то есть функция меняет знак на отрезке [2,95; 3,1]. Следовательно, найден интервал изоляции корня, содержащий корень.

0,56

0,313

0,110

2,2

2,35

2,5

2,65

2,8

2,95

3,1

3,25

3,4

-0,047

-0,160

-0,228 -0,250

Рисунок шагового метода

Реализация в программе MSExcel

Результат реализации в программе MSExcel

Реализация в программе Mcad

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

Постановка задачи: Для данного нелинейного уравнения x2-5 x+6=0 с одной неизвестной величиной на интервале изоляции корня [2,95;3,1] найти приближенный корень с точностью 0,01.

Ручной счет: Обозначим левую границу интервала изоляции a=2,950, а правую b=3,100. Делим интервал изоляции корня пополам, т.е. находим среднюю точку хс

3

xc

a b

 

2,950 3,100

3,025 .

 

 

2

 

2

 

Вычислим значение функции в точке xc. f(xc)=xc2-5*xc+6=3,0252-5*3,025+6=0,026

Проверяем |f(xc)|<0,01 |0,026|<0,01 нет, это значит что значение x= 3,025 нельзя считать приближенным корнем нашего уравнения с точностью 0,01.

Поэтому необходимо выбрать одну из половин интервала [2,950;3,025] и [3,025;3,100] для дальнейшего расчета.

f(a)=f(2,950)= - 0,047 f(xc)=f(3,025)=0,026 f(b)=f(3,100)=0,110

Для выбора одной из половин интервала проверяем условие f(a)*f(xc)<0 (-0,047)*0,026<0 да,

Произведение отрицательно, следовательно, на левом половине интервала есть корень.

Делаем следующий шаг. Теперь a=2,950 b=3,025

На интервале [2,950;3,025] находим среднюю точку хс

xc

a b

 

2,950 3,025

2,988.

 

 

 

2

 

2

 

 

Вычислим значение функции в точке xc. f(xc)=xc2-5*xc+6=2,9882-5*2,988+6=-0,012

Проверяем |f(xc)|<0,01 |-0,012|<0,01 нет, это значит что значение x= 2,988 нельзя считать приближенным корнем нашего уравнения с точностью 0,01.

Поэтому необходимо выбрать одну из половин интервала [2,950;2,988] и [2,988;3,025] для дальнейшего расчета.

f(a)=f(2,950)= - 0,047 f(xc)=f(2,988)= - 0,012 f(b)=f(3,025)=0,026

Для выбора одной из половин интервала проверяем условие f(a)*f(xc)<0 (-0,047)*(-0,012)<0 нет,

Произведение положительно, следовательно, на левом половине интервала нет корня, он на правой половине.

Делаем следующий шаг. Теперь a=2,988 b=3,025

На интервале [2,988;3,025] находим среднюю точку хс

xc

a b

 

2,988 3,025

3,006 .

 

 

 

2

 

2

 

 

Вычислим значение функции в точке xc. f(xc)=xc2-5*xc+6=3,0062-5*3,006+6=0,006

Проверяем |f(xc)|<0,01 |0,006|<0,01 да, это значит что значение x= 3,006 можно считать приближенным корнем нашего уравнения с точностью 0,01.

Вывод: x= 3,006 можно считать приближенным корнем нашего уравнения с точностью 0,01, т.к. |f(3,006)|<0,01 |0,006|<0,01

 

0,110

 

 

 

 

 

 

~

 

 

 

0,026

2,95

2,988

 

0,006

 

 

 

 

-0,012

 

3,006 3,025

3,100

-0,047

 

Рисунок метода половинного деления

Реализация в программе MSExcel

Результат реализации в программе MSExcel

Реализация в программе Mcad

5

3. Метод Ньютона

Постановка задачи: Для данного нелинейного уравнения x2-5 x+6=0 с одной неизвестной величиной на интервале изоляции корня [2,95;3,1] найти приближенный корень с точностью 0,0001.

Ручной счет.

Проверим какой из концов интервала изоляции корня [2,95;3,1] (найденный шаговым методом) выбрать в качестве начального приближения к корню. Обозначим a=2,950 b=3,100 Необходимо проверить следующие условия:

f’(a)≠0 и f(a)*f''(a)>0 f’(b)≠0 и f(b)*f''(b)>0

f’(x)=2*x-5 1-я производная f”(x)=2 2-я производная

Проверяем f’(a)=2*a-5=2*2,95000-5=0,90000 f(a)*f’’(a)=(a2-5*a+6)*2=(2,950002-5*2,95000+6)*2=-0,09500<0

Т.к. одно из условий не выполнилось, значение а нельзя брать в качестве начального приближения

x0.

Проверяем f’(b)=2*b-5=2*3,10000-5=1,20000 f(b)*f’’(b)=(b2-5*b+6)*2=(3,100002-5*3,10000+6)*2=0,22000>0

Оба условия выполнились - значение b можно брать в качестве начального приближения x0.

За начальное приближение выбираем x0=3,10000.

Итерационная формула метода Ньютона xi 1 xi f(xi ) . f'(xi )

Вычислим первое приближение к корню i=0

x1 x 0 f(x0 ) : f'(x0 )

f(x0)= x02-5* x0+6=3,100002-5*3,10000-6=0,11000 f’(x0)=2*3,10000-5=1,20000

x1

x 0

 

f(x

0 )

3,10000

 

 

0,11000

3,00833

f'(x

0 )

1,20000

 

 

 

 

 

 

Находим значение функции f(x1)

f(x1)= )= x12-5* x1+6=3,008332-5*3,00833-6=0,00840

Проверяем

f(x1 ) 0,00840 0,0001 нет, следовательно, корень не найден на первой итерации.

Делаем следующий шаг.

Вычислим второе приближение к корню i=1

x 2 x1 f(x1 ) : f'(x1)

f(x1)= x12-5* x1+6=3,008332-5*3,00833-6=0,00840 f’(x1)=2*3,00833-5=1,01667

x 2 x1

f(x1 )

3,00833

 

0,00008

3,00008

f'(x1 )

1,01667

 

 

 

 

 

 

Находим значение функции f(x1)

f(x2)= )= x22-5* x2+6=3,000082-5*3,00008-6=0,00007

Проверяем

f(x2 ) 0,00007 0,0001 да, следовательно, х= 3,00008 корень уравнения с точностью

0,0001найден на второй итерации.

Вывод: x= 3,00008 можно считать приближенным корнем нашего уравнения с точностью 0,0001, т.к. |f(3,00008)|<0,0001 |0,00007|<0,0001

0,11000

0,00840 ~

0,00007

3,00007

3,00833

3,10000

Рисунок метода Ньютона

Реализация в программе MSExcel

7

Реализация в программе Mcad

4. Метод простой итерации

Постановка задачи: Для данного нелинейного уравнения x2-5 x+6=0 с одной неизвестной величиной на интервале изоляции корня [2,95;3,1] найти приближенный корень с точностью 0,01.

Ручной счет.

1 способ

Заданное уравнение x2-5 x+6=0 (f(x) = 0) преобразуем в приведенное. x=x-koef*f(x).

На полученном шаговым методом интервале изоляции корня [2,95;3,1] найдем значение koef.

Сравним первые производные функции на концах интервала изоляции.

|f’(2,95)| > |f’(3,1)|, т.к. |0,90| < |1,20|, то

koef = 1/1,20=0,8333 ( берем значение производной без модуля).

Следовательно, x0 = 3,1.

Запишем итерационную формулу xi+1=xi-koef*f(xi) или xi+1=fi(xi) Вычисляем первое приближение к корню

x1= x0-koef*f(x0)

x1=x0-koef*((x0)2-5*x0+6)= 3,1-0,8333(3,12-5*3,1+6)= 3,0083

Вычислим значение функции при x1=3,0083 f(x1)= x12-5 x1+6=3,0083-5*3,0083+6=0,0084 Проверяем |f(x1)|<eps |0,0084|<0,001 нет,

точность не достигнута, следовательно, вычисляем следующее приближение к корню.

Вычисляем второе приближение к корню

x2= x1-koef*f(x1)

x2=x1-koef*((x1)2-5*x1+6)= 3,0083-0,8333(3,00832-5*3,0083+6)= 3,0013

Вычислим значение функции при x2=3,0013 f(x2)= x22-5 x2+6=3,0013-5*3,0013+6=0,0013 Проверяем |f(x2)|<eps |0,0013|<0,001 нет,

точность не достигнута, следовательно, вычисляем следующее приближение точность не достигнута, следовательно, вычисляем следующее приближение к корню.

Вычисляем третье приближение к корню.

x3= x2-koef*f(x2)

x3=x2-koef*((x2)2-5*x2+6)= 3,0013-0,8333(3,00132-5*3,0013+6)= 3,0002

Вычислим значение функции при x3=3,0002 f(x3)= x32-5 x3+6=3,0002-5*3,0002+6=0,0002 Проверяем |f(x1)|<eps |0,0002|<0,001 да,

точность достигнута.

Вывод: x= 3,0002 можно считать приближенным корнем нашего уравнения с точностью 0,001, т.к. |f(3,0002)|<0,001 |0,0002|<0,001

Реализация в программе MSExcel(1 способ)

9

Реализация в программе Mcad (1 способ)

2 способ

Заданное уравнение x2-5 x+6=0 (f(x) = 0) преобразуем в приведенное, в

Соседние файлы в папке Информатика 2 семестр