8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 23 24 25 26 27 28 29 ... 365

s -

5.2000 7.2000 9.2000 11.2000

» si = 1.2 + v si =

5.2000 7.2000 9.2000 11.2000 » г = 1.2 - v г =

-2.6000 -4.8000 -6.8000 -8.8000 » rl = v — 1.2 rl =

2.8000 4.8000 6.8000 8.8000

Умножать вектор на число можно как справа, так и слева:

» V = [4 6 8 10] ; » р = v*2

р =

8 12 16 20 » pi = 2*v pi =

8 12 16 20

Делить при помощи знака / можно вектор на число:

» р = v/2 Р = 2 3 4 5

Попытка деления числа на вектор-строку приводит к сообщению об ошибке: » р = 2/v

??? Error using ==> /

Matrix dimensions must agree.

f Примечание

При делении числа на вектор-столбец сообщение об ошибке не выдается. Это связано с тем, что в данном случае происходит решение системы линейных уравнений с прямоугольной матрицей, в которой число неизвестных превосходит число уравнений. Решение систем линейных уравнений разобрано в главе 6.

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


» w = [4 2 6] ; » d = 12./w d =

3 6 2

Все вышеописанные операции применимы как к вектор-строкам, так и к вектор-столбцам.

Разберем, как правильно транспонировать и вычислять сопряженные векторы в MATLAB. Для вектор-столбца и, к примеру с тремя комплексными элементами (в частности и с вещественными), сопряженный к нему и* определяется как вектор-строка из его комплексно-сопряженных элементов, а транспонированный иТ— просто как вектор-строка из его элементов, например:

и —

2+3/ 1-2/ 3 + 2/

и* =[2-3/1 + 2/ 3-2/], иТ = [2 + 3/1-2/ 3 + 2/].

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

Для нахождения сопряженного вектора в MATLAB используется апостроф, а для транспонирования следует применять точку с апострофом:

» и = [2 + 3i; 1 - 2i; 3 + 2i]; » v = u1 v =

2.0000 - 3.0000i 1.0000 + 2.0000i 3.0000 - 2.0000i » v = u.

V =

2.0000 + 3.0000i 1.0000 - 2.0000i 3.0000 + 2.0000i

Операции . • и над вещественными векторами приведут к одинаковым результатам. Поэлементные вычисления с массивами используются на протяжении всей книги.

Построение таблицы значений функции

Отображение функции в виде таблицы удобно, если имеется сравнительно небольшое количество значений функции.


Пусть требуется вывести в командное окно таблицу значений функции

. ч sin" х v , У(л) =-+ е -1п.т

l+cosa

в точках 0.2, 0.3, 0.5, 0.8, 1.3, 1.7, 2.5. Задача решается в два этапа.

1.Создайте вектор-строку х, содержащую координаты заданных точек.

2.Вычислите функцию у(л) от каждого элемента вектора х и запишите

полученные значения в вектор-строку у. Важно только сделать это правильно! Необходимо найти значения функции для каждого из элементов вектор-строки х, поэтому операции в выражении для функции должны выполняться поэлементно, как было описано в предыдущих разделах.

» х = [0.2 0.3 0.5 0.8 1.3 1.7 2.5] х =

0.2000 0.3000 0.5000 0.8000 1.3000 1.7000 2.5000 » у = sin(x).Л2./(1 + cos(x)) + ехр(-х).*log(x)

У =

-1.2978 -0.8473 -0.2980 0.2030 0.8040 1.2256 1.6764

Обратите внимание, что при попытке использования операций возведения в степень Л, деления / и умножения * (которые не относятся к поэлементным) выводится сообщение об ошибке уже при возведении sin(jc) в квадрат:

» у = s±n[x)"2/il + cos(x)) + ехр(-х) *log(x) ??? Error using ==> Л Matrix must be square.

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

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

» X X -

0.2000 0.3000 0.5000 0.8000 1.3000 1.7000 2.5000 » у У =

-1.2978 -0.8473 -0.2980 0.2030 0.8040 1.2258 1.8764

Чисто требуегся вывести значение функции в точках отрезка, отстоящих друг от друга на равное расстояние (шаг). Предположим, что необходимо вывести



0 ... 23 24 25 26 27 28 29 ... 365