Задание 2: (действия с матрицами)
% Создание матриц производится так же как и создание векторов, при этом % используется знак (;) , чтобы отделить вводимые строки матрицы. Введите матрицу размерности (3,3):
A = [1 2 0; 2 5 -1; 4 10 -1] % Введите свои значения. Не ставьте блокировку (;), % чтобы следить за результатами.
Транспонируйте матрицу 'A' :
B = A'
Выполните умножение
C = A * B
Возведите квадратную матрицу в 5 степень:
F=A^5
Найдите обратную матрицу:
X = inv(A)
Вычислите матрицу
I =A*inv(A) % ясно, что должна получиться единичная матрица
Вычислите определитель матрицы:
D=det(A)
Найдите собственные значения матрицы:
eig(A)
% Функция "poly" генерирует вектор, элементами которого являются % коэффициенты характеристического многочлена матрицы: % det(lambda*I - A)
p = round(poly(A))
% Функция “round” округляет до ближайшего целого % Корни многочлена p – характеристические значения исходной матрицы % Таким образом, мы можем найти собственные значения матрицы оператором
roots(p) % Выполните вычисления этим способом
% В любой момент мы можем получить список значений переменных, хранящихся в памяти % используя команды "who" или "whos".
Выполните:
who whos
% Вы можете получить на экране значение любой переменной, набрав в командной строке имя переменной и нажав вслед за тем ENTER.
Выполните:
A % ENTER
X % ENTER
p % ENTER
F % ENTER
ПОЭЛЕМЕНТНОЕ ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ
Арифметические операции умножения, деления и возведения в степень имеют своих двойников с поэлементным выполнением. Поясним: пусть x=[1 2 3 4] и y=[5 6 7 8]. Предположим, что вам хотелось бы перемножить (поделить, возвести в степень) элементы векторов x и y. Если мы напишем x*y или x/y или x^3, то получим сообщение об ошибке, так как строки нельзя перемножить, разделить друг на друга по правилам матричной алгебры (несоответствие размерностей). Однако для получения желаемого результата в MATLAB есть дубли арифметических операций. Они имеют те же значки, что и основные операции, но с точкой перед знаком операции. Выполните в командном окне: x.*y % Результат – вектор, элементы которого равны произведениям соответствующих элементов векторов x и y x./y % Элементы x будут поделены на соответствующие элементы y x.^3 % Элементы вектора x будут возведены в 3-ю степень.
MATLAB работает с комплексными числами и бесконечными величинами. ВЫПОЛНИТЕ:
sqrt(-1)
log(0)
ГЕНЕРАЦИЯ СПЕЦИАЛЬНЫХ МАТРИЦ:
Для создания специальных матриц существуют функции:
zeros – создание матрицы с нулевыми элементами, ones - создание матрицы с единичными элементами, rand – создание матрицы со случайными элементами (равномерно на [0,1] распределенными случайными числами), eye – создание единичной матрицы
Выполните операции:
A = zeros(3,2) AA = zeros(5) B = ones(1,10) BB = ones(3) C=rand(2,5) CC=rand(7) E=eye(5)
ОПЕРАТОРЫ СЛИЯНИЯ МАТРИЦ
Выполните операторы A=ones(2,3) V=ones(1,3) A=[A;V] % матрица A получит дополнительную строку из элементов вектора V B=rand(2,2) C=rand(3,3) G=cat(1,A,C) % Объединение матриц A и C вдоль размерности 1 (по вертикали) GG=cat(2,A,C) % Объединение матриц вдоль размерности 2 (по горизонтали)
ОПЕРАТОРЫ ВЫРЕЗКИ ДЛЯ МАТРИЦ
Выполните операторы, наблюдайте за результатами
A=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20] B=A(1,:) % Взятие первой строки исходной матрицы C=A(:,4) % Взятие четвертого столбца исходной матрицы D=A(3:4,1:2) % Выделение (вырезка) строк 3 – 4 , столбцов 1 – 2 G=A(2:3,3:4) % Выделение (вырезка) строк 2 – 3 , столбцов 3 – 4 E=A(:) % Создание единого массива (столбца) из элементов матрицы A.
МЕТОД ГАУССА
В заключение, решите систему 5-и линейных алгебраических уравнений с 5 неизвестными методом Гаусса. Введите матрицу системы
A=rand(5,5) % здесь коэффициенты системы – случайные числа. Введите свои % конкретные значения B=rand(5,1) % вектор-столбец – правая часть системы уравнений, которая в % матричной форме может быть записана как A*X=B, где X – % столбец неизвестых. Решение системы, как известно, % X=A^(-1)*B, где A^(-1) – обратная матрица для матрицы A
РЕШЕНИЕ СИСТЕМЫ:
X=A\B % Оператор выполняется как inv(A)*B, что и требуется для решения % системы. Отметим, что в действительности этот оператор % выполняется путем реализации метода Гаусса для решения исходной % системы линейных алгебраических уравнений.
Таким образом, для того, чтобы решить систему линейных алгебраических уравнений методом Гаусса в MATLAB, достаточно выполнить всего один оператор – оператор деления (справа – налево) правой части системы на матрицу системы уравнений.
Программирование в MATLAB Язык программирования MATLAB является типичным интерпретатором. Это означает, что каждая инструкция программы распознается и тут же исполняется, что облегчает обеспечение диалогового режима общения с системой. Этап компиляции всех инструкций, т. е. полной программы, отсутствует. Интерпретация означает, что MATLAB не создает исполняемых конечных программ. Они существуют лишь в виде m-файлов. Для выполнения программ необходима среда MATLAB.
Популярное: Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (832)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |