Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Glava_2a70_2014.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

2.6.3. Некоторые приемы работы с матрицами и векторами

Основные приемы работы с векторами и матрицами (одномерными и двумерными массивами) продемонстрируем на конкретных примерах.

1. Задание вектор-строки (одномерного массива).

>> u1=[1 1 4]

u1 =

1 1 4

>> whos u1

Name Size Bytes Class Attributes

u1 1x3 24 double

>> u2=[1,1,4]

u2 =

1 1 4

>> whos u2

Name Size Bytes Class Attributes

u2 1x3 24 double

Таким образом, для задания компонент вектор-строки используются квадратные скобки, в которых числовые данные отделяются друг от друга пробелами или запятыми.

2. Задание вектор-столбца (одномерного массива).

>> v=[3; 1; -2]

v =

3

1

-2

>> whos v

Name Size Bytes Class Attributes

v 3x1 24 double

Таким образом, для задания компонент вектор-столбца используется тот же прием, что и для вектор-строки, но в качестве разделителей данных выступают точки с запятыми.

3. Транспонирование вектора.

>> h=v'

h =

3 1 -2

>> whos h

Name Size Bytes Class Attributes

h 1x3 24 double

4. Задание вектора с помощью числового диапазона.

>> r=2:0.2:3

r =

2.0000 2.2000 2.4000 2.6000 2.8000 3.0000

>> whos r

Name Size Bytes Class Attributes

r 1x6 48 double

Таким образом, значения компонент вектора, образованные по закону арифметической прогрессии формируются по шаблону: начальное значение : шаг : конечное значение.

5. Поэлементное умножение векторов.

>> a=[1 2 4];

>> b=[3 2 0];

>> a.*b

ans =

3 4 0

6. Создание матрицы (двумерного массива).

>> A=[4 -1 1; 3 2 6; 10 2 25]

A =

4 -1 1

3 2 6

10 2 25

>> whos A

Name Size Bytes Class Attributes

A 3x3 72 double

7. Выделение заданного столбца матрицы (двумерного массива).

>> A(:,3)

ans =

1

6

25

8. Выделение заданной строки матрицы (двумерного массива).

>> A(2,:)

ans =

3 2 6

2.6.4. Некоторые специфика выполнения арифметических и логических операций.

При составлении арифметических выражений система MATLAB допускает использование традиционных знаков арифметических операций и символов специальных операций, представленных в таблице 2.6.1.

Вместе с тем, арифметические операции реализованы в MATLAB с некоторыми характерными особенностями. Наиболее привычным с этих позиций является сложение скалярных величин (т.е. массивов размерности 1х1), аналогичное соответствующему действию в большинстве языков программирования. Однако, если обоими операндами являются массивы одинаковой размерности, то осуществляется покомпонентное сложение элементов с одинаковыми индексами. Если же к массиву любой размерности добавляется скалярная величина, то она добавляется к каждому элементу

Таблица 2.6.1. Знаки арифметических операций и символы специальных операций в системе MATLAB.

Символ

Выполняемое действие

Операции над числовыми величинами

+

Покомпонентное (поэлементное) сложение числовых массивов одинаковой размерности; добавление скалярной величины к каждому элементу массива.

–

Покомпонентное вычитание числовых массивов одинаковой размерности; вычитание скалярной величины к каждому элементу массива.

*

Умножение матриц в соответствии с правилами линейной алгебры; умножение всех элементов массива на скаляр.

.*

Покомпонентное умножение элементов массивов одинаковой размерности.

/

Деление скаляра на скаляр; покомпонентное деление всех элементов массива на скаляр; A/B=A*B-1 (A, B – квадратные матрицы одного порядка).

./

Покомпонентное деление элементов массивов одинаковой размерности.

\

A\B=A-1*B (левое матричное деление, A – квадратная матрица).

.\

A.\B – покомпонентное деление элементов B на A (левое поэлементное деление).

^

Возведение скаляра в любую степень; вычисление целой степени квадратной матрицы.

.^

Покомпонентное возведение в степень элементов массива.

'

Вычисление сопряженной матрицы.

.'

Транспонирование матрицы.

Логические операции

&

Логическое умножение скаляров; логическое покомпонентное умножение массивов одинаковой размерности; логическое умножение массива на скаляр.

|

Логическое сложение скаляров; логическое покомпонентное сложение массивов одинаковой размерности; логическое сложение массива со скаляром.

~

Логическое отрицание скаляра или всех элементов массива.

Операции отношения (операции сравнения)

= =

Проверка на равенство.

~=

Проверка на неравенство.

>

Проверка на «больше».

>=

Проверка на «больше или равно».

<

Проверка на «меньше».

<=

Проверка на «меньше или равно».

массива (т.е. добавляемая скалярная величина, по сути, преобразуется в массив той же размерности, что и первое слагаемое (это своего рода аналог приведения типов в выражениях с «разнокалиберными» операндами) и каждый элемент такого сформированного массива равен исходной скалярной величине). Тем не менее, всякая попытка сложить массивы разной размерности (за исключением случая, когда один из операндов – массив размерности 1х1) приводит к соответствующему сообщению об ошибке. Аналогичное приведение типов выполняется для большинства операций, когда одним из операндов является массив, а вторым – скаляр.

Заметим, что исторически впервые знак операции возведения в степень в виде x**y появился в языке программирования FORTRAN в 1954 году. Вертикальная стрелка  в качестве обозначения операции возведения в степень была предложена несколько лет спусти при разработке языка Algol 58. Символ ^ для обозначения операции возведения в степень использовался в языке программирования Basic, а позднее он же стал использоваться в MATLAB. С сожалением приходится констатировать, что такие популярные языки программирования как C и Pascal даже не включили операцию возведения в степень в набор элементарных действий (для соответствующих целей приходится использовать специальные библиотечные функции).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]