часть числа
--> imag(complex(5,9)) ans =
9.
real(Z)
Выделяет вещественную
часть числа
--> real(complex(5,9)) ans =
5.
gcd(V)
lcm(V)
Вычисляет наибольший об-
щий делитель и
наименьшее общее кратное
--> V = uint16([2^2 * 3^5,…
> 2^3 * 3^2, 2^2 * 3^4 * 5])
V =
972 72 1620
--> y = gcd(V) y =
36
--> lcm(V) ans =
9720
atan(imag(Z),real(Z))
atan(imag(Z),real(Z))…
*180/%pi
Возвращает фазу угла в
радианах
Возвращает фазу угла в
градусах
--> argZ = atan(imag(1 + %i),…
> real(1 + %i)) * 180 / %pi argZ =
45.
abs(Z)
Вычисляет модуль
комплексного числа.
--> Z = 1 + %i;
--> modZ = abs(Z) modZ =
1.4142136
isreal(Z)
isreal(a)
isreal(b)
Возвращает логическое
значение T, если число дей-
ствительное и F – если
комплексное
--> Z = complex(5, 9);
--> a = 67.76;
--> isreal(b) ans =
F
--> isreal(Z) ans =
F
211
Системные константы. Таблица 1.2.2-3
Системная
константа
Назначение
Значения системных
констант
%i
Мнимая единица sqrt(-1)
%pi
Число π
3.1415926…
%eps
Погрешность числа с плавающей точкой
2
-52
%e
Основание натурального логарифма
2.71828182
%inf
Значение машинной бесконечности
%nan
Указание на нечисловой характер данных
(Not-a-Number)
%s
%z
Переменные, используемые для определе- ния полиномов
--> z = poly(0, "z");
--> s = poly(0, "s");
ans
Переменная, хранящая результат послед- ней операции
212
Функции, определяющие структуру матрицы. Таблица 1.2.2-4
Функция
Назначение
Пример использования
length(М)
Возвращает число элементов
в матрице
--> М = [1 2 3;2 3 4;4 5 6];
--> length(M) ans =
9.
--> V = [3 4 5 6 7];
--> length(V) ans =
5.
length(Y(:, 1))
Возвращает число строк
матрицы
--> X = [1 2;2 3;4 5];
--> length(X(:, 1)) ans =
3.
length(X(1, :))
Возвращает число столбцов
матрицы
--> X = [1 2;2 3;4 5];
--> length(М(1, :)) ans =
2.
size(М)
[n, m] = size(М)
size(M, 1)
size(M, 2)
Возвращает вектор, содержа-
щий количество строк и
столбцов матрицы М, или
только число строк, или
только число столбцов
--> M = [1 3; 2 4; 4 6];
--> size(М) ans =
3.
3.
--> [n, m] = size(M) m =
3. n =
2.
--> size(M, 1) ans =
2.
--> size(M, 2) ans =
3.
ndims(T)
n = ndims(T)
Возвращает число измерений
матрицы
--> T = [2 3 4; 4 3 2; 5 7 8];
--> ndims(T) ans =
2.
213
Алгебраические матричные операции и функции. Таблица 1.2.2-5
Операции
и функции
Назначение
Описания
+
Сложение
A + B складывает матрицы A и B.
+
Унарный плюс
+A возвращает A.
-
Вычитание
A - B вычитает B из A.
-
Унарный минус
-A меняет знакA.
*
Матричное
умножение
C = A * B – алгебраическое произведение мат- риц A и B, при условии, что количество столб- цов A равно числу строк B.
^
Матричное
возведение в степень
A^B – возведение матрицы A в степень B, если B яв- ляется скаляром. Для других значений B вычисле- ния включают собственные значения и собственные вектора.
/
Деление матриц
слева направо
X = B / A – решение уравнения X * A = B, при условии, что матрицы A и B имеют одинаковое коли- чество столбцов. С точки зрения операций деления слева и транспонирования
B / A = (A' \ B')'.
\
Обратное (справа
налево) деление
матриц
Х = A \ B – решение уравнения A * X = B, при условии, что матрицы A и B имеют одинаковое коли- чество строк.
'
Транспонирование
матрицы
B = A' – комплексно-сопряженное транспонирова- ния матрицы A. Для комплексных матриц эта опера- ция не предполагает сопряжения.
d = det(mA)
Вычисление
определителя
матрицы
--> A = [3 2; 4 3];
--> det(A) //Определитель матрицы ans = 1
t = trace(A)
Вычисление следа
матрицы, то есть
суммы элементов
главной диагонали
--> A = [1 2 3; 4 -2 1; 0 3 -1]
--> trace(A) //СледматрицыА
ans =
-2
--> // то же что и
--> sum(diag(A)) ans =
-2
214
Арифметические поэлементные операции над матрицами. Таблица 1.2.2-6
Операция Назначение Описание +Сложение A + B поэлементное сложение
A и
B +Унарный плюс +A возвращает
A -Вычитание A - B поэлементное вычитание
B из
A -Унарный минус -A поэлементное присвоение в
A .*Поэлементное умножение C = A .* B поэлементное умножение
A и
B .^Поэлементное возведение в степень A .^ B поэлементное возведение
A в степень
B .\Поэлементное обратное деление массивов X = A .\ B – поэлементное обратное деле- ние
A и
B ./Поэлементное деление X = B ./ A поэлементное деление
A и
B.
.'Транспонирование мас-сива A .' – поэлементная операция транспонирова- ния
A Наиболее часто используемые математические функции. Таблица 1.2.2-7
Тригонометрические функции (аргумент задается в радианах) sin, cos, tan, cot Синус, косинус, тангенс и котангенс
sec, csc Секанс, косеканс
asin,acos,atan, atan2, acot Арксинус, арккосинус, арктангенс и арккотангенс
asec, acsc Арксеканс, арккосеканс
Алгебраические и арифметические функцииabs Модуль
exp Экспоненциальная функция
log, log2, log10 Логарифм натуральный, по основанию
2 и
10sqrt Квадратный корень
fix Целая часть числа
floor Округление до ближайшего целого значения, которое не превышает аргумент
mod(x, y), rem(x, y) Остаток от деления x на y. Целая часть определяется со- ответственно функциями
floor и
fixsign Знак числа
factorial Вычисление факториала числа
Гиперболические функцииsinh, cosh, tanh, coth Гиперболические синус, косинус, тангенс и котангенс
sech, csch Гиперболические секанс и косеканс
asinh, acosh, atanh, acoth Гиперболические арксинус, арккосинус,
арктангенс и арккотангенс;
215
Преобразование данных числового типа. Таблица 1.2.2-8
Ф
Функции
Назначение
Примеры
ceil(A)
Возвращает матрицу целых
чисел, состоящую из элемен-
тов, округлённых в сто-
рону +∞
--> ceil([1.3 1.5 1.7 2.5 3.7]) ans =
2. 2. 2. 3. 4.
--> ceil([-1.3 -1.5 -1.7 -2.5 -3.7]) ans =
-1. -1. -1. -2. -3.
fix(A)
Возвращает матрицу целых
чисел, состоящую из элемен-
тов, округлённых в сто-
рону нуля
y= sign(x) .* floor(abs(x)) (то же самое, что и int).
--> fix([1.3 1.5 1.7 2.5 3.7]) ans =
1. 1. 1. 2. 3.
--> fix([-1.3 -1.5 -1.7 -2.5 -3.7]) ans =
-1. -1. -1. -2. -3.
floor
Возвращает матрицу целых
чисел, состоящую из элемен-
тов, округлённых в сторону -∞
--> floor([1.3 1.5 1.7 2.5 3.7]) ans =
1. 1. 1. 2. 3.
--> floor([-1.3 -1.5 -1.7 -2.5 -3.7]) ans =
-2. -2. -2. -3. -4.
int(A)
Возвращает матрицу целых
чисел, состоящую из элемен-
тов, округлённых в сто-
рону нуля
То же самое, что и fix.
--> int([1.3 1.5 1.7 2.5 3.7]) ans =
2.
1. 1. 2. 3.
--> int([-1.3 -1.5 -1.7 -2.5 -3.7]) ans =
-1. -1. -1. -2. -3.
round
Округляет до ближайшего це-
лого по правилам математики
--> round([1.3 1.5 1.7 2.5 3.7]) ans =
1. 2. 2. 3. 4.
--> round([-1.3 -1.5 -1.7 -2.5 -3.7]) ans =
-1. -2. -2. -3. -4.
ieee()
Устанавливает режим преду-
преждающий о исключитель-
ных ситуациях при операциях
с плавающей точкой
--> ieee(1); 1/0
Предупреждение : деление на нуль... ans =
Inf
--> ieee(2); 1/0, log(0) ans =
Inf ans =
-Inf
isinf()
Проверяется значения на бес-
конечность
inf
--> realmax + .0001E+308 ans =
Inf
--> -realmax - .0001E+308 ans =
-Inf
isnan()
Проверяется значения
на nan
x = [1 2 %nan 3 %nan 4] k = find(isnan(x)) y = x(k)
216
Операции отношений. Таблица 1.2.3-1
Операция
Описание
Примеры *
==
Равно
--> x == y ans =
T T F
--> a == b ans =
F
=
Не равно
--> x = y ans =
F F T
--> a = b ans =
T
<
Меньше чем
--> x < y ans =
F F T
>
Больше чем
-->x > y ans =
F F F
<=
Меньше или равно
--> x <= y ans =
T T T
>=
Больше или равно
--> x >= y ans =
T T F
* Примеры в этой таблице предполагают, что
x = [2, 3, 4], y = [2, 3, 5], a = 3 +2 * i, b = 3 + 4 * i.
217
Логические операции. Таблица 1.2.3-2
Операция
Описание
Примеры *
b = or(A)
Логическое сложение (операция ИЛИ)
над элементами вектора или матрицы
Где b
- логический скаляр, если or(A) ис- пользуется без каких-либо вариантов "r",
"c", n (по умолчанию).
bравно %F, если все элементы A имеют зна- чение %F или ноль, включая %nan.
b равно %Т, в противном случае (по край- ней мере один элемент A имеют значение
%T или ненулевой.
--> or([]) ans =
F
--> or(0) ans =
F
--> or(0+%i * 0) ans =
F
--> or(%nan) ans =
F
--> or([T, F T]) ans =
T
--> or([1 0 1; 0 4 3]) ans =
T
B = or(A, 'r')
B = or(A, 1)
B = or(A, 'c')
B = or(A, 2)
Логическое сложение (операция ИЛИ)
над элементами столбцов или строк
матрицы
Где B
- логический вектор.
Если n = 1 или| "r": or – возвращает вектор-строку логических значений
B(j) = or(A(:, j)).
Если n = 2 или " c": or возвращает век- тор-столбец логических значений
B(i) = or(A(i, :))
--> B = or(A, 1)
B =
T T F
--> B = or(A, 2)
B =
T
T
T
L = A | B
Поэлементное логическое сложение
(операция ИЛИ) над элементами векто-
ров или матриц
Где A и B вектора или матрицы с элемен- тами целого или логического типа, кото- рые должны иметь одинаковые размеры.
Если A или B является скаляром, она зара- нее расширяется до размера другого опе- ранда.
L – вектор или матрица логических значе- ний
--> x = [1 0 0];
--> y = [1 1 1];
--> L = x | y
L =
T T T
--> y = [1 0 1];
--> L = x | y
L =
T F T
b = and(A)
Логическое умножение (операция И) над
элементами вектора или матрицы
Где b
- логический скаляр, если
and(A) используется без каких-либо вари- антов "r", "c", n (по умолчанию).
-->and([]) ans =
T
--> and(0) ans =
F
218
B равно
%F, если хотя бы один из элемен- тов
A имеют значение
%F или ноль.
B равно
%Т, в противном случае (все эле- менты
A имеют значение
%T, ненулевое или
%nan.
Где
A вектор или матрица булевых, целочис- ленных
действительных или комплексных значений--> and(0 + 0*%i) ans =
F
--> and(%nan) ans =
T
--> and([1, 0 1]) ans =
F
--> and([1 0 1; 0 4 3]) ans =
F
B = and (A, 'r') B = and (A, 1) B = and (A, 'c') B = and (A, 2) Логическое умножение (операция И) над элементами столбцов или строк матрицы Где
B – вектор логических значений.
and возвращает вектор-строку логиче- ских значений
b(j) = and(A(:, j)); and возвращает вектор-столбец логиче- ских значений
b(i) = and(A(i, :)) ;
-->
B = and (A, 1) B =
T F F
-->
B = and (A, 2) B =
T
F
F
L = A & B Логическое умножение (операция И) над векторами или матрицами Где
A и
B вектора или матрицы с элемен- тами целого или логического типа, кото- рые должны иметь одинаковые размеры.
Если
A или
B является скаляром, она зара- нее расширяется до размера другого опе- ранда.
L – вектор или матрица логических значе- ний
--> x = [1 0 0];
--> y = [1 1 1];
--> L = x & y
L =
T F F
--> y = [1 0 1];
--> L = x & y
L =
T F F
A Логическое отрицание (операция НЕ) над элементами матрицы логических значений --> x = [1 0 0];
--> x ans =
T F F
--> y = [1 1 1];
--> oy = y oy =
T F F
*В примерах используются: вектора
x = [1 0 0] и y = [1 1 1]; матрицы
А = [5 7 0; 3 2 4; 5 0 0] и
B = [6 6 0; 1 3 5; -1 0 0].
219
Символы преобразования и примеры их применения. Таблица 1.2.4-1
Символ
Описание
%c
Выводит одиночный символ
%d
Выводит десятичное число
%e
Выводит десятичные числа с плавающей точкой в экспоненциальном виде
%E
Так же, как %e, но, используя прописные
%f
Выводит десятичные числа с плавающей запятой
%g
Более компактное %e или %f, незначительные нули не выводятся.
%G
Выводит десятичного целого числа (представление числа с основанием 10)
%i
Выводит целую часть десятичного числа (представление числа с основанием 10)
%s
Выводит строку символов
%u
Выводит целую часть десятичного числа без знака (представление числа с основа- нием 10)
Ширина и точность полей. Таблица 1.2.4-2
Характер
Описание
Пример
Ширина поля
Строка цифр, указывающая минимальное ко- личество цифр для печати
('%5d', 0) 0
('%5d', 7) 7
('%5d', -9) -9
('%5d', 45622) 45622
('
%5d', 4562237) 45622
Точность
Строка цифр, включающая точку (.) указание количества цифр, которые должны быть напечатаны справа от десятичной точки
('
%.0f
', e) 3
('
%.0f.
', e) 3
('
%.1f
', e) 2.7
('
%.2f
', e) 2.72
('
%.5f
', e)
2.71828
('
%f
', e)
2.718282
Флаги форматирования. Таблица 1.2.4-3
Характер
Описание
Пример
Знак минус (-)
Левое выравнивание
(
'
%-5.1f
', e) 2.7__
Знак плюс (+)
Всегда печатает знак (+или -)
(
'
%+5.1f
', e) _+2.7
Ноль (0)
Отображаются нул, а не пробелы
(
'
%05.1f
', e) 002.7
Знак плюс (+) или (-)
(
'
%+-5.1f
', e) _+2.7_
Знак плюс (+) и ноль (0)
(
'
% 05.1f
', e) +02.7_
220
Таблица 1.2.4-4
СимволВлияние на текст '' Одиночная кавычка
%% Одиночный знак процента
\\ Однократная обратная косая черта
\a Аварийная сигнализация
\b Возврат на одну позицию
\n Новая строка
\r Возврат каретки
\t Горизонтальная табуляция