![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Функция отделения и уточнения корней
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 – корни уравнения
В арианты лабораторных работ
Номер варианта | Уравнение | Номер варианта | Уравнение |
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() |
Дата публикования: 2015-04-07; Прочитано: 229 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!