- •6.4.36.06. «Методические указания по отдельным видам занятий»
- •Краткое введение в matlab
- •Работа в режиме прямых вычислений
- •Действия с векторами и матрицами в matlab
- •Выполните:
- •Программирование в matlab
- •Управляющие структуры языка matlab
- •Функции ввода-вывода
- •Условный оператор
- •Циклы типа for...End
- •Циклы типа while...End
- •Конструкция переключателя
Выполните:
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
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, достаточно выполнить всего один оператор – оператор деления (справа – налево) правой части системы на матрицу системы уравнений.
