%объявление функции
function
result=gurvits(DEN)
%составляем в gur определитель Гурвица
L=length(DEN);
%находим число коэффициентов
%фиксируем столбец
for j=1:L-1 %из L
коэффициентов состоит система L-1 порядка
%и заполняем по
строкам
for
i=1:L-1
gur(i,j)=i;
k=2*j-i+1;
if
((k>0)&(k<=L))
gur(i,j)=DEN(k);
else
gur(i,j)=0;
end;
end;
end;
gur %выводим на печать получившийся
определитель
%считаем сам определитель и его диагональные
миноры
result=true;
for i=1:L-2 %число миноров, включая сам определитель
равно порядку системы
%-1 (на 2 меньше числа
коэффициентов)
d=det(gur) %выводим на печать значение
определителя и его миноров
%проверка на условие
гурвица
if
(d<=0)
result=false;
break
end;
%для системы 2-го порядка
и меньше миноров нет
if (L<=3)
break
end;
%делаем из определителя минор (отсекаем последнюю
строку и столбец)
gur(:,L-i)=[];
gur(L-i,:)=[] %выводим на печать миноры определителя
end;
Работа
программы ясна из комментариев. Для использования скопируйте вышеприведенный
тест например в "Блокнот" и сохраните в виде файла gurvits.m. Для использования
его в MatLab необходимо либо прописать к нему путь, либо разместить файл
gurvits.m в какой-нибудь папке с m-файлами Matlab.