Примеры выполнения заданий
Пусть
требуется вычислить корни уравнения
с
точностью =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 |
|
