- •Упражнение 1. Вычисление определителей II порядка
- •Упражнение 2. Вычислить определители второго порядка.
- •Решение
- •Упражнение 3. Решение систем по формулам Крамера
- •1) Обращаясь через индексы к элементам массива
- •2) Сделать проверку с помощью стандартной функции det() Решение
- •Упражнение 4. Вычисление определителей III порядка
- •Решение
- •Упражнение 5. Вычислить определители третьего порядка
- •3) Сделать проверку с помощью стандартной функции det()
- •Решение
- •Упражнение 6. Решение систем по формулам Крамера
- •1) Обращаясь через индексы к элементам массива
- •2) Сделать проверку с помощью стандартной функции det() Решение:
Упражнение 4. Вычисление определителей III порядка
Создать квадратную матрицу размером 3х3.
Вычислить определитель матрицы B
1)по правилу Саррюса, обращаясь через индексы к элементам массива
2)разложить по первой строке, обращаясь через индексы к элементам массива
3)сделать проверку, обращаясь к стандартной функции det()
Решение
1)Зададим матрицу В:
>>syms a1 b1 c1 a2 b2 c2 a3 b3 c3
>> B=[a1 b1 c1;a2 b2 c2;a3 b3 c3]
B =
[ a1, b1, c1]
[ a2, b2, c2]
[ a3, b3, c3]
Вычислим определитель по правилу Саррюса, обращаясь через индексы к элементам массива.
>>detB=B(1,1)*B(2,2)*B(3,3)+B(2,1)*B(2,3)*B(1,3)+B(3,1)*B(1,2)*B(2,3)-B(1,3)*B(2,2)*B(3,1)-B(2,3)*B(3,2)*B(1,1)-B(3,3)*B(1,2)*B(2,1)
detB =
a1*b2*c3 - a1*b3*c2 - a2*b1*c3 + a3*b1*c2 - a3*b2*c1 + a2*c1*c2
Проверим:
>>detB=det(B)
detB =
a1*b2*c3 - a1*b3*c2 - a2*b1*c3 + a2*b3*c1 + a3*b1*c2 - a3*b2*c1
2)Вычислим определитель, разложив его по первой строке, обращаясь через индексы к элементам массива:
>>detB=B(1,1)*(B(2,2)*B(3,3)-B(2,3)*B(3,2))-B(1,2)*(B(2,1)*B(3,3)-B(1,3)*B(3,2))+B(1,3)*(B(2,1)*B(2,3)-B(1,3)*B(2,2))
detB =
a1*(b2*c3 - b3*c2) - b1*(a2*c3 - b3*c1) + c1*(a2*c2 - b2*c1)
Проверим:
>>detB=det(B)
detB =
a1*b2*c3 - a1*b3*c2 - a2*b1*c3 + a2*b3*c1 + a3*b1*c2 - a3*b2*c1
Примечание: Если раскрыть скобки в 1ом выражении, то слагаемые встанут на те же места, что и во втором. Отсюда следует, что команда detB=det(A) вычисляет определитель, раскладывая его по первой строке.
Упражнение 5. Вычислить определители третьего порядка
Вычислить определители третьего порядка, при необходимости вводя символьные переменные, а также прибегая к упрощениям.
1) по правилу Саррюса, обращаясь к индексам элементов массива
2)разложением по первой строке, обращаясь к индексам элементов массива
3) Сделать проверку с помощью стандартной функции det()
, 2. , 3. , 4. .
Решение
1)Вычисляю определители по правилу Саррюса:
Зададим матрицы А,В,С,D:
>>symsabcx
>> A=[1 2 3;4 5 6;7 8 1]
A =
1 2 3
4 5 6
7 8 1
>> B=[3 4 -5; 8 7 -2; 2 -1 8]
B =
3 4 -5
8 7 -2
2 -1 8
>> C=[a+x x x;xb+x x; x xc+x]
C =
[ a + x, x, x]
[ x, b + x, x]
[ x, x, c + x]
>> D=[sin(a) cos(a) 1;sin(b) cos(b) 1;sin(c) cos(c) 1]
D =
[ sin(a), cos(a), 1]
[ sin(b), cos(b), 1]
[ sin(c), cos(c), 1]
1.Нахожу определитель для 1ой матрицы:
>>detA=A(1,1)*A(2,2)*A(3,3)+A(2,1)*A(3,2)*A(1,3)+A(3,1)*A(1,2)*A(2,3)-A(1,3)*A(2,2)*A(3,1)-A(2,3)*A(3,2)*A(1,1)-A(3,3)*A(1,2)*A(2,1)
detA =
24
Проверим:
>>detA=det(A)
detA =
24.0000
2.Нахожу определитель для 2ой матрицы:
>>detB=B(1,1)*B(2,2)*B(3,3)+B(2,1)*B(3,2)*B(1,3)+B(3,1)*B(1,2)*B(2,3)-B(1,3)*B(2,2)*B(3,1)-B(2,3)*B(3,2)*B(1,1)-B(3,3)*B(1,2)*B(2,1)
detB =
0
Проверим:
>>detB=det(B)
detB =
0
3.Нахожу определитель для 3ой матрицы:
>>detC=C(1,1)*C(2,2)*C(3,3)+C(2,1)*C(3,2)*C(1,3)+C(3,1)*C(1,2)*C(2,3)-C(1,3)*C(2,2)*C(3,1)-C(2,3)*C(3,2)*C(1,1)-C(3,3)*C(1,2)*C(2,1)
detC =
2*x^3 - x^2*(b + x) - x^2*(c + x) - x^2*(a + x) + (a + x)*(b + x)*(c + x)
Проверим:
>>detC=det(C)
detC =
a*b*c + a*b*x + a*c*x + b*c*x
4.Нахожу определитель для 4ой матрицы:
>>detD=D(1,1)*D(2,2)*D(3,3)+D(2,1)*D(3,2)*D(1,3)+D(3,1)*D(1,2)*D(2,3)-D(1,3)*D(2,2)*D(3,1)-D(2,3)*D(3,2)*D(1,1)-D(3,3)*D(1,2)*D(2,1)
detD =
cos(b)*sin(a) - cos(a)*sin(b) + cos(a)*sin(c) - cos(c)*sin(a) - cos(b)*sin(c) + cos(c)*sin(b)
Проверим:
>>detD=det(D)
detD =
cos(b)*sin(a) - cos(a)*sin(b) + cos(a)*sin(c) - cos(c)*sin(a) - cos(b)*sin(c) + cos(c)*sin(b)
2)Вычисляю определители, разлагая по первой строке, обращаясь к индексам элементов массива:
1.Нахожу определитель для 1ой матрицы:
>>detA=A(1,1)*(A(2,2)*A(3,3)-A(2,3)*A(3,2))-A(1,2)*(A(2,1)*A(3,3)-A(3,1)*A(2,3))+A(1,3)*(A(2,1)*A(3,2)-A(3,1)*A(2,2))
detA =
24
Проверим:
>>detA=det(A)
detA =
24.0000
2.Нахожу определитель для 2ой матрицы:
>>detB=B(1,1)*(B(2,2)*B(3,3)-B(2,3)*B(3,2))-B(1,2)*(B(2,1)*B(3,3)-B(3,1)*B(2,3))+B(1,3)*(B(2,1)*B(3,2)-B(3,1)*B(2,2))
detB =
0
Проверим:
>>detB=det(B)
detB =
0
3.Нахожу определитель для 3ой матрицы:
>>detC=C(1,1)*(C(2,2)*C(3,3)-C(2,3)*C(3,2))-C(1,2)*(C(2,1)*C(3,3)-C(3,1)*C(2,3))+C(1,3)*(C(2,1)*C(3,2)-C(3,1)*C(2,2))
detC =
(a + x)*((b + x)*(c + x) - x^2) - x*(x*(b + x) - x^2) - x*(x*(c + x) - x^2)
Проверим:
>>detC=det(C)
detC =
a*b*c + a*b*x + a*c*x + b*c*x
4.Нахожу определитель для 4ой матрицы:
>>detD=D(1,1)*(D(2,2)*D(3,3)-D(2,3)*D(3,2))-D(1,2)*(D(2,1)*D(3,3)-D(3,1)*D(2,3))+D(1,3)*(D(2,1)*D(3,2)-D(3,1)*D(2,2))
detD =
sin(a)*(cos(b) - cos(c)) - cos(a)*(sin(b) - sin(c)) - cos(b)*sin(c) + cos(c)*sin(b)
Проверим:
>>detD=det(D)
detD =
cos(b)*sin(a) - cos(a)*sin(b) + cos(a)*sin(c) - cos(c)*sin(a) - cos(b)*sin(c) + cos(c)*sin(b)