Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мет_ЯРОВАЯ_ЧИСЛ.МЕТ_1.doc
Скачиваний:
21
Добавлен:
20.11.2018
Размер:
2.87 Mб
Скачать

Примеры выполнения заданий

Пусть требуется вычислить корни уравнения с точностью =10-5 .

Расчет в пакете mathcad

1. Интервалы изоляции корней для заданного уравнения:

Интервалы изоляции корней:

2. Решение уравнения методом половинного деления с использованием if:

Замечание. Для увеличения точности необходимо увеличить количество итераций или необходимое количество итераций n можно задать с помощью формулы

3. Решение уравнения методом половинного деления с использованием простейшего программного блока:

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

4. Решение уравнения с помощью встроенных функций.

Решение уравнения с помощью встроенной функции root:

– переопределение встроенной точности решения

Решение уравнения с помощью функции polyroots:

Расчет в пакете MATLAB

Функция отделения и уточнения корней

function RTS=dixotomia(pol,eps);

% метод половинного деления для решения алгебраических уравнений

% функция определяет интервалы изоляции действительных корней

% формирует вектор действительных корней уравнения

% левая граница интервала, содержащего все корни уравнения

A0=-1-max(abs(pol))/(abs(pol(1)));

disp(A0)

% правая граница интервала, содержащего все корни уравнения

A1=-A0;

disp(A1)

d=A0;

d1=d;

i=1;

while d<=A1% цикл отделения действительных корней ( шаг 0.1)

d=d+0.1;

if polyval(pol,d)*polyval(pol,d1)<0

K(i)=d1;K(i+1)=d;

i=i+2;

end;

d1=d;

end;

disp(K);

% количество действительных корней

nrts=i-1;

i=1; j=1;

while i<nrts % цикл уточнения действительных корней

X=K(i); X1=K(i+1); x=X; x1=X1;

% метод половинного деления

while abs(polyval(pol,x)-polyval(pol,x1))>eps

x1=X; x=(X+X1)/2;

if polyval(pol,x)*polyval(pol,x1)>0

X=(X+X1)/2;

else

X1=(X+X1)/2;

end;

end;

% вектор, содержащий действительные корни уравнения

RTS(j)=x1; i=i+2; j=j+1;

End

RTS;

End

Результаты вычислений:

>> dixotomia([1 3 -12],0.00001) – вызов функции; полином задается значениями коэффициентов

-13 – левая граница интервала, содержащего корни уравнения

13 – правая граница интервала, содержащего корни уравнения

-5.3000 -5.2000 2.2000 2.3000 – интервалы изоляции корней

RTS =

-5.2749 2.2749 – корни уравнения

Варианты лабораторных работ

Номер

варианта

Уравнение

Номер

варианта

Уравнение

1

16

2

17

3

18

4

19

5

20

6

21

7

22

8

23

9

24

10

25

11

26

12

27

13

28

14

29

15

30

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

УТОЧНЕНИЕ ПРИБЛИЖЕННОГО КОРНЯ УРАВНЕНИЯ

МЕТОДОМ ХОРД, МЕТОДОМ КАСАТЕЛЬНЫХ (НЬЮТОНА), МОДИФИЦИРОВАННЫМ МЕТОДОМ НЬЮТОНА,

МЕТОДОМ СЕКУЩИХ, КОМБИНИРОВАННЫМ МЕТОДОМ

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