
- •190000, Санкт-Петербург, ул. Б. Морская, 67
- •1. Идеология MatLab и Octave
- •2. Возможности MatLab и Octave
- •3. Управление командным окном
- •4. Организация системы помощи в MatLab и Octave
- •5. Ввод и генерация данных
- •6. Ввод констант и специальных чисел в MatLab и Octave
- •7. Ввод данных в диалоговом режиме
- •8. Генерация специальных матриц
- •9. Манипуляции с матрицами в MatLab и Octave
- •10. Работа с символьными переменными
- •11. MatLab (Octave) как сложный калькулятор
- •12. Визуализация данных
- •13. Работа с файлами
- •14. Программирование в MatLab и Octave
9. Манипуляции с матрицами в MatLab и Octave
Под манипуляциями с матрицами подразумеваются следующие операции: обращение к отдельным элементам матрицы, выделение подматриц, объединение скалярных величин, векторов, матриц в матрицы больших размерностей, транспонирование матриц и т.д. (табл.7 и 8).
Таблица 7 - Манипуляции с матрицами в MatLab и Octave
Операция |
Исходная матрица(ы) |
Команда |
Результат |
Доступ к отдельным элементам матрицы (вектора) |
A=[1 2; 3 4] |
B=A(2,1) |
B = 3 |
Выделение из исходной матрицы требуемых вектор-строк и вектор-столбцов |
A=[1 2; 3 4] |
B=A(1,:)
В=A(:,2) |
B = 1 2 B = 2 4 |
Выделение из исходной матрицы подматрицы заданной размерности |
A=[1 2 3; 4 5 6; 7 8 9] |
B=A(1:2,1:2) |
B = 1 2 4 5 |
Объединение скалярных величин в вектор |
A=1 B=2 |
C=[A B]
C=[A; B] |
C = 1 2 C = 1 2 |
Объединение векторов в матрицы |
A=[1 2] B=[3 4] |
C=[A B]
C=[A; B] |
C = 1 2 3 4 C = 1 2 3 4 |
Объединение матриц в матрицы большей размерности |
A=[1 2; 3 4] B=[5 6; 7 8] |
C=[A B]
C=[A; B] |
C = 1 2 5 6 3 4 7 8 C = 1 2 3 4 5 6 7 8 |
Поворот векторов и матриц на 90 градусов против часовой стрелки |
A=[1 2 3 4] |
A=rot90(A) |
A = 4 3 2 1 |
Таблица 8 - Операции над матрицами в MatLab и Octave
Операция |
Исходная матрица |
Команда |
Результат |
Транспонирование матрицы |
A=[1 2; 3 4] |
B=A' |
B = 1 3 2 4 |
Вычисление детерминанта матрицы |
A=[1 2; 3 4] |
B=det(A) |
B = -2 |
Вычисление ранга матрицы |
A=[1 2; 3 4] |
B=rank(A) |
B = 2 |
Вычисление обратной матрицы |
A=[1 2; 3 4] |
B=inv(A) |
B = -2 1 1.5 -0.5 |
Вычисление размерности матрицы |
A=[1 2; 3 4] |
B=size(A) |
B = 2 2 |
Вычисление длины вектора |
A=[4 3 2 1] |
B=length(A) |
B = 4 |
10. Работа с символьными переменными
Обе системы MatLab и Octave могут работать с символьными переменными – создавать их, редактировать, преобразовывать. При определении символьной переменной её помещают между двумя апострофами, например:
a='Ivanov'
b='Ivan'
c='Ivanovich'
s='School #1'
t='tel: 123-45-67'
Отдельные символьные переменные можно объединять в структуры с помощью команды char:
str=char(a, b, c, s, t)
Результатом работы команды будет структура, присвоенная переменной str:
str =
Ivanov
Ivan
Ivanovich
School #1
tel: 123-45-67
к отдельным элементам которой можно обращаться также как и к элементам матрицы:
name=str(2,:)
результат:
name = Ivan
Если в качестве символьной переменной использовать формулу, то её (после предварительного преобразования) можно рассчитать:
a='2*pi*50'
результат: a = 2*pi*50
b=str2num(a)
результат: b = 314.16
Для преобразования символьной переменной в числовую используется команда str2num, для обратного преобразования – команда num2str.