Вычислить определитель четвёртого порядка (см. табл. 2) ( – параметры) путем понижения порядка, предварительно получив максимальное количество нулей в строке (столбце). Значения коэффициентов соответствующего варианта студента берутся из табл. 4.
;
Вар
24 4 1 2 3
Решение
Будем раскладывать определитель по второму столбцу с параметрами, тогда нужно вычислить 4 определителя третьего порядка, для вычисления которых с помощью понижения порядка составим функцию:
function y=opred(A)
//обнуляем первый столбец (кроме 1-ой строки))
A(2,:)=A(2,:)-A(1,:)*(A(2,1)/A(1,1));
A(3,:)=A(3,:)-A(1,:)*(A(3,1)/A(1,1));
y=A(1,1);
A(1,:)=[];A(:,1)=[];//понижаем порядок
printf('Определитель равен %d * ', y)
disp(A)//получен определитель 2-го порядка
y=y*det(A);
endfunction
Составляем скрипт:
a=4;b=1;c=2;d=3;
//матрица с нулями вместо параметров
W=[d 0 0 a^2; c 0 1 b^2; b 0 2 c^2; a 0 4 d^2];
//разложили на сумму 4-х определителей
W1=-W(2:4, [1 3 4]);
W2=W([1 3 4], [1 3 4]);
W3=-W([1 2 4], [1 3 4]);
W4=W(1:3, [1 3 4]);
disp(W1); d1=opred(W1); printf('Определитель W1 равен %f\n\n',d1)
disp(W2); d2=opred(W2); printf('Определитель W2 равен %f\n\n',d2)
disp(W3); d3=opred(W3); printf('Определитель W3 равен %f\n\n',d3)
disp(W4); d4=opred(W4); printf('Определитель W4 равен %f\n\n',d4)
//Преобразуем в символьное выражение
s1=mulf(string(d1), 'a1');
s2=mulf(string(d2), 'a2');
s3=mulf(string(d3), 'a3');
s4=mulf(string(d4), 'a4');
S=addf(addf(addf(s1,s2),s3),s4)
printf('Итоговое выражение: \n')
disp(S)
Результаты выполнения:
Таким образом,