Автор работы: Пользователь скрыл имя, 21 Декабря 2012 в 16:44, курсовая работа
Система MATLAB (сокращение от MATrix LABoratory - МАТричная Лаборатория) разработана фирмой The MathWorks, Inc. (США, г.Нейтик, шт. Массачусетс) и является интерактивной системой для выполнения инженерных и научных расчетов, которая ориентирована на работу с массивами данных. Система использует математический сопроцессор и допускает обращения к программам, написанным на языках Fortran, C и C++.
Введение………………………………………………………………………3
Рабочий стол системы MATLAB….………………………………………...6
Действия над матрицами……………………………………………………..9
Элементарные матрицы и операции над ними……………………………..16
Список использованной литературы………………………………………..19
7
Сложение и вычитание матриц определяется как и для массивов, то есть поэлементно. Эти операции требуют чтобы обе матрицы имели одинаковую размерность, или одна из них была скаляром (в последнем случае MATLAB прибавляет (или вычитывает) данный скаляр из всех элементов матрицы). Если размерности матриц не совпадают, в командное окно выдается сообщение об ошибке (красным цветом)
Error using ==> +
Matrix dimensions must agree.
Вектор-строка и вектор-столбец могут быть перемножены в любом порядке (оператор умножения * расположен на верхнем регистре клавиши с цифрой 8). Результатом будет или скаляр (внутреннее произведение) или матрица (внешнее произведение). Для приведенных выше векторов v и u имеем :
x = v*u
2
X = u*v
6 0 -3
2 0 -1
8 0 -4
Для действительных матриц, операция транспонирования меняет взаимное местоположение элементов aij aji, симметричных относительно главной диагонали. Для обозначения транспонирования MATLAB использует одиночную кавычку (апостроф) (‘). Для нашей симметричной матрицы Паскаля A’ = A. Однако матрица В не является симметричной и поэтому:
8 3 4
1 5 9
6 7 2
Транспонирование превращает вектор-строку в вектор-столбец и наоборот. Если x и y оба являются действительными векторами, то произведение x*y не определено, но оба произведения x'*y и y'*x дают один и тот же скаляр. Это соотношение используется так часто, что имеет три различных имени: скалярное произведение, внутреннее произведение и точечное произведение.
Для комплексного вектора или матрицы, z, величина z' обозначат комплексно-сопряженное транспонирование. В MATLAB-е предусмотрены также поэлементные операции над элементами массивов. Признаком поэлементных операций служит точка после обозначения переменной. Так, транспонирование элементов матрицы z как массива чисел обозначается z.', по аналогии с другими операциями на массивами чисел. Например, если
z = [1+2i 3+4i]
то
1-2i
3-4i
тогда как z.' есть
1+2i
3+4i
Для комплексных векторов, два скалярных произведения x'*y и y'*x комплексно сопряжены, а скалярное произведение x'*x комплексного вектора с самим собой есть действительное число.
Для произведения двух совместимых А и В матриц в MATLAB–е достаточно записать в командной строке С = А*В . MATLAB самостоятельно проверит совместимость размерностей матриц и выдаст результат. Если матрицы несовместимы, выдается сообщение об ошибке:
Error using ==> *
Inner matrix dimensions must agree.
Индексирование (Subscripts)
Для краткого рассмотрения некоторых основных понятий, связанных с индексированием двумерных массивов (матриц), введем «волшебную» матрицу 4-го порядка:
F = magic(4)
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
Элемент в i-ой строке и j-ом столбце матрицы F обозначается через F (i,j). Например, F (4,2) есть число в четвертой строке и втором столбце. Для нашего волшебного квадрата, F(4,2) есть 14. Таким образом, можно вычислить сумму элементов четвертого столбца матрицы F, напечатав
F (1,4) + F (2,4) + F (3,4) + F (4,4)
Это дает ответ
34
но, как мы увидим в дальнейшем, не является самым элегантным способом суммирования элементов одного столбца.
Имеется также возможность обращения к элементам матрицы при помощи одного индекса, F(k). Это обычный способ обращения к элементам векторов (строк или столбцов). Но в MATLAB-е такой способ индексирования можно применить и к двумерным (в общем случае – многомерным) матрицам, так как система MATLAB хранит все многомерные массивы чи-сел в виде одного длинного вектора-столбца, сформированного из столбцов исходной матрицы. Так, для нашего волшебного квадрата, F (8) есть другой способ обращения к начини 14 хранящемуся в F (4,2).
Если вы попытаетесь использовать элемент, находящийся вне размеров матрицы, это приведет к сообщению об ошибке
t = F (4,5)
(Индекс превышает размерность матрицы)
С другой стороны, если вы
попытаетесь запомнить какое-
X = A;
X(4,5) = 17
16 3 2 13 0
5 0 11 8 0
9 6 7 12 0
4 15 14 1 17
Двоеточие, : , является одним из наиболее важных операторов MATLAB-а. Оно встречается в нескольких разных формах. Выражение 1:10 есть вектор-строка, содержащий целевые числа от 1 до 10:
1 2 3 4 5 6 7 8 9 10
Чтобы получить неединичное приращение, нужно задать приращение. Например,
100 : -7 : 50
есть
100 93 86 79 72 65 58 51
а
0 : pi/4 : pi
есть
0 0.7854 1.5708 2.3562 3.1416
Индексы, содержащие двоеточия, допускают обращение к частям матриц. Так, выражение
F (1:k, j)
дает первые k элементов j-го столбца матрицы F. То есть,
sum(F (1:4, 4))
вычисляет, как и в примере выше, сумму элементов 4-го столбца. Но есть еще лучший путь. Двоеточие само по себе означает обращение ко всем элементам строки или столбца матрицы, а зарезервированное слово end есть обращение к последним строке или столбцу матрицы (в случае векторов-строк или столбцов слово end есть обращение к последнему элементу вектора). Значит,
sum(F (:, end))
вычисляет сумму элементов последнего столбца матрицы F . Ответ: ans = 34. Почему магическая сумма для волшебного квадрата 4 х 4 равна 34 ? Дело в том, что если целые числа от 1 до 16 (число элементов матрицы размера 4 х 4) упорядочены в четыре группы с равными суммами элементов, эта сумма должна быть равна
sum(1:16)/4
что, конечно, дает ans = 34.
Единичная матрица, нулевая матрицы и матрица из единиц.
Двумерные массивы случайных чисел
Единичная матрица, то есть матрица имеющая единицы на главной диагонали и нулевые остальные элементы, в MATLAB-е обозначается eye, причем eye(n) есть единичная квадратная матрица размера nxn, eye(m,n) - прямоугольная единичная матрица размера mxn, а eye(size(A)) есть единичная матрица, имеющая размерность матрицы A. Например,
I = eye(3)
1 0 0
0 1 0
0 0 1
I = eye (3,5)
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
I = eye (4,2)
1 0
0 1
0 0
0 0
Нулевая матрица, то есть матрица состоящая из нулей (массив нулей), в MATLAB-е обозначается zeros, причем zeros (n) есть нулевая квадратная матрица размера nxn, zeros (m,n) - прямоугольная нулевая матрица размера mxn, а zeros (size(A)) есть нулевая матрица имеющая размерность матрицы A.
Z = zeros(2,4)
0 0 0 0
0 0 0 0
Наконец, матрица состоящая из единиц (массив единиц), в MATLAB-е обозначается ones, причем ones (n) есть квадратный массив единиц размера nxn, ones (m,n) – прямоугольный массив единиц размера mxn, а ones (size(A)) есть массив единиц, имеющий размерность матрицы A.
S = 5*ones(3, 3)
5 5 5
5 5 5
5 5 5
Аналогично, функция rand дает возможность сформировать соответствующие массивы случайных чисел в диапазоне от 0 до 1, распределенных по равномерному закону, а функция randn – по нормальному закону.
N = fix(10*rand(1,10))
4 9 4 4 8 5 2 6 8 0
R = randn(4,4)
R =
1.0668 0.2944 -0.6918 -1.4410
0.0593 -1.3362 0.8580 0.5711
-0.0956 0.7143 1.2540 -0.3999
-0.8323 1.6236 -1.5937 0.6900
Список использованной литературы
Информация о работе Поэлементарные операции над матрицами в системе MATLAB