Варианты задания
где
K =2, G - номер группы, S - номер студента по журналу.
Пример 4. Определить собственные значения и собственные векторы матрицы
Пример M-файла:
A=[2 -1 0; -1 2 -1; 0 -1 2] [T,J]=eig(A) |
Получаемый результат:
A =
2 -1 0
-1 2 -1
0 -1 2
T =
0.5000 -0.7071 -0.5000
0.7071 0.0000 0.7071
0.5000 0.7071 -0.5000
J =
0.5858 0 0
0 2.0000 0
0 0 3.4142
Варианты задания
где
,
–
номер студента по
списку в журнале,
–
номер группы.
3.2. Скалярное произведение двух векторов
,
,
Варианты вычисления скалярного произведения в среде MATLAB:
s=sum(a.*b)=a’*b=dot(a,b)
Пример.
Вычислить скалярное произведение
,
где
; ;
;
;
.
Представим два способа.
Первый вариант М-файла: |
Второй вариант М-файла: |
A=[1 2 3;1 2 1;3 2 0]; B=[4 1 2; 0 4 3;1 1 1]; p=[.1;1.7;-1.5]; q=[-1.6;0.8;1.1]; r=[-0.7;1.3;0.2]; s=(A*p)'* B*(q+r) |
A=[1 2 3;1 2 1;3 2 0]; B=[4 1 2; 0 4 3;1 1 1]; p=[.1; 1.7; -1.5]; q=[-1.6; 0.8; 1.1]; r=[-0.7; 1.3; 0.2]; s=dot(A*p,B*(q+r)) |
Результат счета:
s =
33.1700
Варианты заданий.
1. |
s=(Ap+q,q) |
13. |
s=(q-ABq,q) |
25. |
s=(B(r-q),p-r) |
2. |
s=(Aq+p,Aq) |
14. |
s=(A(p+r+q),p) |
26. |
s=(Bq-Ar,Ar) |
3. |
s=(B(p-r),r) |
15. |
s=(B(r-q),p) |
27. |
s=(B(r+q+r),AAp) |
4. |
s=(Ar,Bp) |
16. |
s=(A(q-p),p) |
28. |
s=(A(p+q+r),AAr) |
5. |
s=(Aq-Bp,r) |
17. |
s=(B(q-p-r),q) |
29. |
s=(B(r-p),BBr) |
6. |
s=(AAp,q) |
18. |
s=(ABp-r,q) |
30. |
s=(BBr,Aq) |
7. |
s=(Aq+AAq,q) |
19. |
s=(Ar-Bq,p) |
31. |
s=(Ap,B(q+r)) |
8. |
s=(r+BBr,p) |
20. |
s=(Ap,B(r-p)) |
32. |
s=(BBq,r) |
9. |
s=(Ap,Br) |
21. |
s=(B(p-q),r) |
33. |
s=(Ap-r,p+r) |
10. |
s=(r,A(r-q)) |
22. |
s=(AAp+q,p) |
34. |
s=(BAp+q,p) |
11. |
s=(q,Aq+Bp) |
23. |
s=(Br-Ap,q-p) |
35. |
s=(r+AAp,p) |
12. |
S=(r+ABr,q) |
24. |
s=(Ar+p,p+q) |
36. |
s=(B(p-r-q),r) |
3.3. Некоторые специфика выполнения арифметических и логических операций.
При составлении арифметических выражений система MATLAB допускает использование традиционных знаков арифметических операций и символов специальных операций, представленных в таблице 3.1.
Таблица 3.1. Знаки арифметических операций и символы специальных операций в системе MATLAB.
Символ |
Выполняемое действие |
Операции над числовыми величинами |
|
+ |
Покомпонентное (поэлементное) сложение числовых массивов одинаковой размерности; добавление скалярной величины к каждому элементу массива. |
– |
Покомпонентное вычитание числовых массивов одинаковой размерности; вычитание скалярной величины к каждому элементу массива. |
* |
Умножение матриц в соответствии с правилами линейной алгебры; умножение всех элементов массива на скаляр. |
.* |
Покомпонентное умножение элементов массивов одинаковой размерности. |
/ |
Деление скаляра на скаляр; покомпонентное деление всех элементов массива на скаляр; A/B=A*B-1 (A, B – квадратные матрицы одного порядка). |
./ |
Покомпонентное деление элементов массивов одинаковой размерности. |
\ |
A\B=A-1*B (левое матричное деление, A – квадратная матрица). |
.\ |
A.\B – покомпонентное деление элементов B на A (левое поэлементное деление). |
^ |
Возведение скаляра в любую степень; вычисление целой степени квадратной матрицы. |
.^ |
Покомпонентное возведение в степень элементов массива. |
' |
Вычисление сопряженной матрицы. |
.' |
Транспонирование матрицы. |
Логические операции |
|
& |
Логическое умножение скаляров; логическое покомпонентное умножение массивов одинаковой размерности; логическое умножение массива на скаляр. |
| |
Логическое сложение скаляров; логическое покомпонентное сложение массивов одинаковой размерности; логическое сложение массива со скаляром. |
~ |
Логическое отрицание скаляра или всех элементов массива. |
Операции отношения (операции сравнения) |
|
== |
Проверка на равенство. |
~= |
Проверка на неравенство. |
> |
Проверка на «больше». |
>= |
Проверка на «больше или равно». |
< |
Проверка на «меньше». |
<= |
Проверка на «меньше или равно». |
Вместе с тем, арифметические операции реализованы в MATLAB с некоторыми характерными особенностями. Наиболее привычным с этих позиций является сложение скалярных величин (т.е. массивов размерности 1х1), аналогичное соответствующему действию в большинстве языков программирования. Если обоими операндами являются массивы одинаковой размерности, то осуществляется покомпонентное сложение элементов с одинаковыми индексами. Если же к массиву любой размерности добавляется скалярная величина, то она добавляется к каждому элементу массива (т.е. добавляемая скалярная величина, по сути, преобразуется в массив той же размерности, что и первое слагаемое (это своего рода аналог приведения типов в выражениях с «разнокалиберными» операндами) и каждый элемент такого сформированного массива равен исходной скалярной величине). Тем не менее, всякая попытка сложить массивы разной размерности (за исключением случая, когда один из операндов – массив размерности 1х1) приводит к соответствующему сообщению об ошибке. Аналогичное приведение типов выполняется для большинства операций, когда одним из операндов является массив, а вторым – скаляр.
