Поэлементные операции и встроенные функции
Поскольку векторы и матрицы хранятся в двумерных массивах, то применение математических функций к матрицам и поэлементные операции производятся так же, как для векторов.
Умножение каждого элемента одной матрицы на соответствующий элемент другой производится при помощи оператора . *
Для деления элементов первой матрицы на соответствующие элементы второй используется . /, а для деления элементов второй матрицы на соответствующие элементы первой служит . \
Поэлементное возведение в степень осуществляется при помощи оператора .^
Показатель степени может быть матрицей того же размера, что и матрица, возводимая в степень. При этом элементы первой матрицы возводятся, степени, равные элементам второй матрицы:
Вычисление математических функций
От элементов матриц
Очень важно сразу понять, что в книгах по теории матриц формула соs(А), где А — квадратная матрица, означает вычисление косинуса от матрицы, которое осуществляется при помощи разложения в ряд. В MATLAB имеется возможность вычисления функций от матриц.
Запись с=соs(А) в МATLAB приводит к вычислению косинусов от элементов массива а и записи их в массив с того же размера, что и а.
Аналогично вычисляются и другие математические функции. Использование функций обработки данных для матриц (нахождение максимума, минимума, суммы и др.) несколько отличается от их применения при работе" векторами.
!!Примените функций обработки данных к матрицам k и l.
Особые операции
В математике ничего не говорится про деление матриц и векторов, однако MATLAB символ \ используется для решения систем линейных уравнений.
Если имеется система линейных уравнений, которая в матричном виде записывается AX=B, то её решение в MATLAB запишется командой X=A\B.
!! Решите систему
Блочные матрицы
Очень часто в приложениях возникают так называемые блочные матрицы, т. е. матрицы, составленные из непересекающихся подматриц (блоков). Соответствующие размеры блоков должны совпадать.
!! Введите матрицы
Требуется составить блочную матрицу K, считая, что она состоит из двух строк, в первой – А и В, а во второй – C и D.
Можно было поступить и по-другому, а именно, считать, что матрица К состоит из двух столбцов, в первом — матрицы А и С, а во втором — В и D.
!! Составьте блочную матрицу К.
Обратной задачей к конструированию блочных матриц является выделение блоков.
Выделение блоков матриц осуществляется индексацией при помощи двоеточия, которое ставится между номерами строк и столбцов, составляющих блок
!! Выделите из матрицы К блок
Для выделения из матрицы столбца или строки (то есть массива, у которого один из размеров равен единице) следует в качестве одного из индексов использовать номер столбца или строки матрицы, а другой индекс заменить на двоеточие без указания пределов.
!! Выделите из матрицы К последнюю строку.
При выделении блока до конца матрицы можно не указывать ее размеры, использовать элемент end.
!! Выделите из матрицы К вторую строку, начиная со второго элемента.
!! Создайте квадратную матрицу размера четыре, состоящую из случайных целых чисел от нуля до десяти, вычтите из нее матрицу, состоящую из пятерок.
Порядок выполнения работы
1. Тщательно изучить все разделы методических указаний и выполнить задания, помеченные знаком !!.
2. После разрешения преподавателя приступить к выполнению дополнительного задания.
3. Выведите документ на печать.
4. Представьте преподавателю результаты выполнения работы.
Содержание отчета
1. Номер, название и цель лабораторной работы.
2. Результаты работы, выведенные на печать.
3. Краткие выводы о проделанной работе.
Контрольные вопросы
1. С какими объектами работает система MATLAB?
2. Какие способы введения вектора вы знаете?
3. Что такое рабочее пространство системы?
4. Какие произведения векторов вы знаете?
5. Какие поэлементные операции с векторами вызнаете?
6. Какие арифметические операции с векторами вызнаете?
7. Чем отличаются матрицы от векторов?
8. В чем отличие операций с матрицами от векторов?
9. Что такое блочные матрицы?
10. Какие операции с блоками вы знаете?
Библиографический список
1.Симонович С.В. и др. Специальная информатика: Учеб. пособие для вузов/ С.В. Симонович, Г.А. Евсеев, А.Г. Алексеев. – М.: АСТ-ПРЕСС – Информком-Пресс, 1999. – 352 с.: ил, с.
2.Глушаков С.В., Жакин И.А., Хачинов Т.С. Математическое моделирование: Учебный курс/ Тех. Консультант А.А.Гопаченко; Худож.-оформитель А.С.Юхтман. – Харьков: Фолио; М.: ООО "Издательство АСТ", 2001. – 524 с.
3.Ануфриев И.Е. Самоучитель MATLAB 5.3/6.x. – СПб.: БХВ-Петербург, 2003.- 736 с.:ил.
Функции для создания векторов и матриц
1. еуе(n) - формирование единичной матрицы размера nхn.
2. diag(v,n) - формирование диагональной матрицы диагональной матрицы из элементов заданного вектора v с дополнительным числом строк и столбцов n. Число n может быть как положительным (строки и столбцы добавляются спереди и снизу), так и отрицательным (строки и столбцы добавляются сверху и справа).
3. rand(n) - формирование матрицы размера nхn случайных элементов.
4. ones(n) - формирование матрицы единичных элементов размера nхn.
5. zeros(n) - формирование матрицы размера nхn нулевых элементов.
6. magic(n) - формирование магической матрицы размера nхn.
7. pascal(n) - формирование матрицы Паскаля размера nхn.
8. toeplitz(n) - формирование матрицы Теплица размера nхn.
9. Wilkinson(n) - формирование матрицы Уилкинсона размера nхn.
Функции над квадратной матрицей.
1. diag(A) – определение элементов главной диагонали матрицы А.
2. fliplr(A) – формирование матрицы с элементами, переставленными относительно вертикальной оси матрицы А.
3. flipud(А) - формирование матрицы с элементами, переставленными относительно горизонтальной оси матрицы А.
4. ргоd(А) - формирование вектора произведений элементов каждого столбца матрицы А.
5. sum(А) - формирование вектора сумм элементов каждого столбца матрицы А.
6. rot90(А) - поворот матрицы А на 90° по направлению против часовой стрелки.
7. tril(А) - выделение нижней треугольной части матрицы А.
8. triu(А) - выделение верхней треугольной части матрицы А.
Функции линейной алгебры
1. cond(А) - возвращает число обусловленности, основанное на второй норме.
2. condeig(А) - формирует вектор чисел обусловленности для собственных значений матрицы А.
3. det(А) - вычисляет определитель матрицы А.
4. rank(А) - определяет ранг матрицы А.
5. norm(А) - вычисляет норму матрицы А.
6. orth(А) - формирует ортонормальный базис матрицы А.
7. null(А) - возвращает ортонормальный базис нулевого пространства.
8. trace(А) - вычисляет "след" матрицы А, т.е. сумму ее диагональных элементов.
9. eig(А) - возвращает вектор собственных значений матрицы А.
10. max(А) - определяет максимальные элементы в столбцах матрицы А.
11. min(А) - находит минимальные элементы в столбцах матрицы А.
12. hess(А) - формирует верхнюю форму Хессенберга.
13. schur(А) - формирует матрицу Шура.
14. poly(А) - возвращает вектор коэффициентов характеристического полинома матрицы А.
15. sort(А) - сортирует в порядке возрастания элементы каждого столбца матрицы А.
16. find(А>с) - возвращает набор индексов, удовлетворяющих заданному условию, т.е. определяет, какие элементы матрицы А больше указанного числа с, и возвращает соответствующие этим элементам индексы.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|