Матричная лаборатория MatLab




Урок 8. Операторы и функции


    Урок 8. Операторы и функции
    Урок 8. Операторы и функции Арифметические операторы и функции Операторы отношения и их функции Логические операторы Специальные символы Системные переменные и константы Функции поразрядной обрабо...
    Элементарные функции
    Элементарные функции Элементарные функции, пожалуй, наиболее известный класс математических функций. Поэтому, не останавливаясь подробно на их описании, представим набор данных функций, имеющийся...
    Алгебраические и арифметические функции
    Алгебраические и арифметические функции В системе MATLAB определены следующие алгебраические и арифметические функции: abs(X) — возвращает абсолютную величину для каждого числового элемента вектор...
    Пример 1
    Пример 1 f = factor(221) f = 13 17 G=gcd(A, В) — возвращает массив, содержащий наибольшие общие делители соответствующих элементов массивов целых чисел А и В. Функция gcd (0.0) возвращает значение...
    Пример 2
    Пример 2 А=[1 354]; В=[2 462]; lcm(А.В) ans = 2 12 30 4 log (X) — возвращает натуральный логарифм элементов массива X. Для комплексного или отрицательного z, где z = х + y*i, вычисляется комплексн...
    Пример 3
    Пример 3 Х=[1.2 3.34 5 2.3]; log(X) ans= -0.1823 1.2060 1.6094 0.8329 log2(X) — возвращает логарифм по основанию 2 элементов массива X; [F,E] = log2(X) — возвращает массив действительных значений...
    Пример 4
    Пример 4 Х=[2 4.678 5;0.987 1 3]; [F.E] = log2(Х) F = 0.5000 0.5847 0.6250 0.9870 0.5000 0.7500 Е = 2 3 3 0 1 2 log10(X) — возвращает логарифм по основанию 10 для каждого элемента X. Область функц...
    Пример 5
    Пример 5 Х=[1.4 2.23 5.8 3]; log10(X) ans = 0.1461 0.3483 0.7634 0.4771 mod(x.y) — возвращает х mod у; mod(X, Y) — возвращает остаток от деления X на Y (т. е., X - Y.*floor(X./Y)) для ненулевого Y...
    Пример 6
    Пример 6 d=pow2(pi/4,2) d = 3.1416 р = nextpow2(A) — возвращает такой показатель степени р, что 2 Р i abs(A). Эта функция эффективно применяется для выполнения быстрого преобразования Фурье. Если...
    Пример 7
    Пример 7 х=[2 678934567784324]; length(x) ans = 16 р = nextpow2(x) Р = 4 х=4: р = nextpow2(x) Р = 2 Х=45; р = nextpow2(x) Р = 6 Функция primes(n) возвращает вектор-строку простых чисел, меньших ил...
    Пример 8
    Пример 8 р = primes(25) Р = 2 3 5 7 11 13 17 19 23 [N,D] = rat(X) - возвращает массивы N и D, такие что N./D аппроксимирует X с точностью 1 .е-6*norm(Х(:),!). Даже при том, что все числа с плавающ...
    Пример 9
    Пример 9 [g.j]=rat(pi.le-10) g= 312689 j = 99532 sqrt(A) — возвращает квадратный корень каждого элемента массива X. Для отрицательных и комплексных элементов X функция sqrt(X) вычисляет комплексны...
    Пример 10
    Пример 10 А=[25 21.23 55.8 3]: sqrt(A) ans = 5.0 4.6076 7.4699 1.7321 На рис. 8.1 представлены графики ряда распространенных алгебраических функций. Эти графики получены в результате исполнения сл...
    Рис. 8.1. Графики ряда алгебраических функций
    Рис. 8.1. Графики ряда алгебраических функций Графики дают наглядное представление о поведении представленных на них функций. Обратите внимание на применение графической команды ezplot из пакета S...
    Тригонометрические и обратные им функции
    Тригонометрические и обратные им функции В системе MATLAB определены следующие тригонометрические и обратные тригонометрические функции. Функции вычисляются для каждого элемента массива. Входной м...
    Пример 1
    Пример 1 Y=acot(0.l) у = 1.4711 acsc(X) — возвращает арккосеканс для каждого элемента X....
    Пример 2
    Пример 2 Y= acsc(3) 0.3398 asec(X) — возвращает арксеканс для каждого элемента X....
    Пример 3
    Пример 3 Y=asec(0.5) Y = 0 + 1.31701 asin(X) — возвращает арксинус для каждого элемента X. Для действительных значений X в области [-1, 1] asin(X) возвращает действительное число из диапазона [-р/...
    Пример 4
    Пример 4 Y= asin (0.278) Y = 0.2817 atan(X) — возвращает арктангенс для каждого элемента X. Для действительных значений X atan(X) находится в области [-р/2, р/2]....
    Пример 5
    Пример 5 Y=atan(1) Y = 0.7854 atan2 (Y, X) — возвращает массив Р той же размерности, что X и Y, содержащий поэлементно арктангенсы отношения вещественных частей Y и X. Мнимые части игнорируются. Э...
    Пример 6
    Пример 6 atan2(l,2) ans = 0.4636 cos(X) — возвращает косинус для каждого элемента X....
    Пример 7
    Пример 7 Х=[123]; cos(X) ans = 0.5403 -0.4161 -0.9900 cot(X) — возвращает котангенс для каждого элемента X....
    Пример 8
    Пример 8 Y = cot(2) Y = -0.4577 csc(X) — возвращает косеканс для каждого элемента X....
    Пример 9
    Пример 9 Х=[2 4.678 5:0.987 1 3]; Y = csc(X) Y = 1.0998 -1.0006 -1.0428 1.1985 1.1884 7.0862 sec(X) — возвращает массив той же размерности что и X, состоящий из секансов элементов X....
    Пример 10
    Пример 10 X=[pi/10 pi/3 pi/5]; sec(X) ans = 1.0515 2.0000 1.2361 sin(X) — возвращает синус для каждого элемента X....
    Пример 11
    Пример 11 X=[pi/2 pi/4 pi/6 pi]; sin(X) ans = 1.0000 0.7071 0.5000 0.0000 tan(X) — возвращает тангенс для каждого элемента X....
    Рис. 8.2. Графики четырех тригонометрических функций
    Рис. 8.2. Графики четырех тригонометрических функций...
    Пример 12
    Пример 12 Х=[0.08 0.06 1.09] X= 0.0800 0.0600 1.0900 tan(X) ans= 0.802 0.0601 1.9171 Следующий файл-сценарий позволяет наблюдать графики четырех тригонометрических функций (рис. 8.2): syms xsubplo...
    Рис. 8.3. Графики синусоиды, прямоугольных, пилообразных и треугольных колебаний
    Рис. 8.3. Графики синусоиды, прямоугольных, пилообразных и треугольных колебаний Дополнительный ряд графиков, полученных комбинациями элементарных функций, показан на рис. 8.4. Эти графики строятс...
    Рис. 8.4. Графики периодических сигналов без разрывов
    Рис. 8.4. Графики периодических сигналов без разрывов Эти графики неплохо моделируют сигналы, получаемые при выпрямлении синусоидального напряжения (или тока) и при прохождении синусоидальных сигн...
    Гиперболические и обратные им функции
    Гиперболические и обратные им функции Наряду с тригонометрическими функциями в математических расчетах часто используются и гиперболические функции. Ниже приводится список таких функций, определен...
    Пример 1
    Пример 1 Y= acosh (0.7) Y = 0 + 0.7954i acoth(X) — возвращает гиперболический арккотангенс для каждого элемента X....
    Пример 2
    Пример 2 Y = acoth (0.1) Y= 0.1003 + 1.5708i acsch(X) — возвращает гиперболический арккосеканс для каждого элемента X....
    Пример 3
    Пример 3 Y = acsch(1) Y = 0.8814 asech(X) — возвращает гиперболический арксеканс для каждого элемента X....
    Пример 4
    Пример 4 Y = asech(4) Y = 0 + 1.3181i asinh(X) — возвращает гиперболический арксинус для каждого элемента X....
    Пример 5
    Пример 5 Y = asinh (2.456) Y = 1.6308 atanh(X) — возвращает гиперболический арктангенс для каждого элемента X....
    Пример 6
    Пример 6 Х=[0.84 0.16 1.39]; atanh (X) ans = 1.2212 0.1614 0.9065 + 1.5708i cosh(X) — возвращает гиперболический косинус для каждого элемента X....
    Пример 7
    Пример 7 Х=[1 23]; Cosh(X) ans = 1.5431 3.7622 10.0677 coth(X) — возвращает гиперболический котангенс для каждого элемента X....
    Пример 8
    Пример 8 Y = coth(3.987) Y = 1.0007 csch(x) — возвращает гиперболический косеканс для каждого элемента X....
    Пример 9
    Пример 9 Х=[2 4.678 5:0.987 1 3]; Y = csch(X) Y = 0.2757 0.0186 0.0135 0.8656 0.8509 0.0998 sech(X) — возвращает гиперболический секанс для каждого элемента X....
    Пример 10
    Пример 10 X=[pi/2 pi/4 pi/6 pi]; sech(X) ans = 0.3985 0.7549 0.8770 0.0863 sinh(X) — возвращает гиперболический синус для каждого элемента X....
    Пример 11
    Пример 11 X=[pi/8 pi/7 pi/5 pi/10]; sinh(X) ans = 0.4029 0.4640 0.6705 0.3194 tanh(X) — возвращает гиперболический тангенс для каждого элемента X....
    Пример 12
    Пример 12 X=[pi/2 pi/4 pi/6 pi/10]; tanh(X) ans = 0.9172 0.6558 0.4805 0.3042 Следующий m-файл-сценарий строит графики ряда гиперболических функций: syms x subplot(2,2,l).ezplot(sinh(x).[-4 4]).xl...
    Функции округления и знака
    Функции округления и знака Ряд особых функций служат для выполнения операций округления числовых данных и анализа их знака. fix(A) — возвращает массив А с элементами, округленными до ближайшего к...
    Пример 1
    Пример 1 Х=[25 21 23 55 3]; Y=[4 8 23 6 4]; rem(X.Y) ans= 15013 round(X) — возвращает округленные до ближайшего целого элементы массива X. Для комплексного X действительные и мнимые части округляю...
    Пример 2
    Пример 2 Х=[5.675 21.6+4.897*1 2.654 55.8765]; round(X) ans = 6.0000 22.0000 +5.0000i 3.0000 56.0000 sign(X) — возвращает массив Y той же размерности, что и X, где каждый из элементов Y равен: 1,...
    Пример 3
    Пример 3 Х=[-5 21 2 0 -3.7]: sign(X) ans = -1 1 1 0 -1...
    Функции комплексного аргумента
    Функции комплексного аргумента Для работы с комплексными числами и данными в MATLAB используются следующие функции: angle(Z) возвращает аргумент комплексного числа в радианах для каждого элемента...
    Пример 1
    Пример 1 Z-[1+i, 3+2i, 2+3i]; imag(Z) ans = 1 2 3 real(Z) — возвращает вещественные части всех элементов комплексного массива Z....
    Пример 2
    Пример 2 Z=[1+i. 3+2i 2+3i]: real(Z) ans = 1 3 2 conj(Z) — возвращает число, комплексно-сопряженное аргументу Z. Если Z комплексное, то conj(Z) = real(Z) - i *imag (Z)....
    Пример 3
    Пример 3 conj(2+31) ans= 2.0000 - 3.00001...
    Что нового мы узнали?
    Что нового мы узнали? В этом уроке мы научились: Применять арифметические операторы и функции. Использовать операторы отношения и их функции. Применять логические операторы. Использовать специальн...
    Арифметические операторы и функции
    Арифметические операторы и функции Арифметические операторы являются самыми распространенными и известными. В отличие от большинства языков программирования в системе MATLAB практически все операт...
    Таблица 8.1.
    Таблица 8.1. Арифметические операторы и функции MATLAB Функция Название Оператор Синтаксис Plus ...
    Операторы отношения и их функции
    Операторы отношения и их функции Операторы отношения служат для сравнения двух величин, векторов или матриц. Все операторы отношения имеют два операнда, например х и у, и записываются, как показан...
    Таблица 8.2.
    Таблица 8.2. Операторы и функции отношения Функция Название Оператор Пример Eq Равно = = x = = y Ne He равно ~ = x ~ = y Lt Меньше чем xy Gt Больше чем xy Le Меньше или равно =...
    Логические операторы
    Логические операторы Логические операторы и соответствующие им функции служат для реализации поэлементных логических операций над элементами одинаковых по размеру массивов (табл. 8.3)....
    Таблица 8.3.
    Таблица 8.3. Логические операторы и функции MATLAB Функция Название And Логическое И (AND) Or Логическое...
    Специальные символы
    Специальные символы К классу операторов в системе MATLAB относятся также специальные символы. Они предназначены для создания самых разнообразных объектов входного языка и языка программирования си...
    Таблица 8.4.
    Таблица 8.4. Специальные символы MATLAB Обозначение Название Категория : Двоеточие colon ...
    Системные переменные и константы
    Системные переменные и константы Как отмечалось ранее, в состав объектов MATLAB входит ряд системных переменных и констант, значения которых устанавливаются системой при ее загрузке или автоматиче...
    Пример 1
    Пример 1 cos([0:2*pi]) ans = 1.0000 0.5403 -0.4161 -0.9900 -0.6536 0.2837 0.9602 computer — возвращает строку с информацией о типе компьютера, на котором установлена система MATLAB; [str.maxsize]...
    Пример 2
    Пример 2 [str.maxsize] = computer str = PCWIN maxsize = 268435455 eps — возвращает интервал между числом 1.0 и следующим ближайшим числом с плавающей запятой, которое воспринимается как отличное о...
    Пример 3
    Пример 3 eps ans = 2.2204е-016 i или j— мнимая единица (равная sqrt(-1)), которая используется для задания мнимой части комплексных чисел. Символ 1 при задании комплексной константы можно использо...
    Пример 4
    Пример 4 w=3+5i w = 3.0000 + 5.00001 Inf — возвращает представление положительной бесконечности для машинной арифметики. Бесконечность следует из операций, подобных делению на нуль, и переполнения...
    Пример 5
    Пример 5 4/0 Warning: Divide by zero. ans= Inf...
    Примечание
    Примечание Переменным i и j можно задать и иное значение, например, они могут выступать в ка-честве индексов в циклах for. Однако это чревато путаницей, если внутри цикла пользователь задает выраж...
    Пример 6
    Пример 6 s=4-3j s = 4.0000 - 3.00001 NaN — возвращает представление для нечисловых величин, например, в случае операций, которые имеют неопределенные численные результаты....
    Пример 7
    Пример 7 s=0/0 Warning: Divide by zero. s =NaN Функция nargchk часто используется внутри m-файлов для проверки соответствия количества входных параметров (аргументов): msg = nargchkOow.high.number...
    Пример 8
    Пример 8 msg = nargchk(4,9.5) msg = [ ] msg = nargchk(4.9.2) msg = Not enough input arguments. msg = nargoutchkdow,high.number) — возвращает сообщение об ошибке, если число number выходных парамет...
    Пример 9
    Пример 9 pi ans = 3.1416 real max — возвращает самое большое число в формате с плавающей запятой, соответствующее конкретному компьютеру. Большее значение соответствует системной переменной Inf....
    Пример 10
    Пример 10 n = real max n = 1.7977е+308 real mi n — возвращает наименьшее нормализованное положительное число в формате с плавающей запятой, представимое на конкретном компьютере. Любое меньшее чис...
    Пример 11
    Пример 11 n = realmin n = 2.2251е-308 Переменные varargin и varargout позволяют использовать в функциях переменное число входных и выходных параметров: varargout = foo(n) — возвращает список выход...
    Функции поразрядной обработки
    Функции поразрядной обработки Ряд функций предназначен для поразрядной логической обработки данных: bitand(A.B) — возвращает поразрядное И двух неотрицательных целых аргументов А и В....
    Пример 1
    Пример 1 f=bitand(7,14) f = 6 bitcmp(A.n) — возвращает поразрядное дополнение аргумента А как n-битовое неотрицательное целое число....
    Пример 2
    Пример 2 g=bitcmp(6,4) g = 9 bitor(A.B) — возвращает поразрядное ИЛИ двух неотрицательных целых аргументов А и В....
    Пример 3
    Пример 3 v=bitor(12.21) v = 29 bitmax — возвращает максимальное целое число без знака, которое может быть представлено в формате чисел с плавающей запятой применительно к используемому компьютеру....
    Пример 4
    Пример 4 bitmax ans = 9.0072е+015 bitset(A.bit.v) — устанавливает бит в позиции bit равным значению v, которое должно быть 0 или 1....
    Пример 5
    Пример 5 d=bitset(12.2.1) d = 14 bitshift(A.n) — возвращает значение аргумента А, сдвинутое на п бит. Если n0, это аналогично умножению на 2 (левый сдвиг). Если n0, это аналогично делению на 2n (п...
    Пример 6
    Пример 6 f=bitshift(4.3) f = 32 bitset(A.bit) — устанавливает бит в позиции bit аргумента А в единичное значение. Аргумент А должен быть неотрицательным целым, bit — это номер в диапазоне между 1...
    Пример 7
    Пример 7 disp(dec2bin(23)) 10111 С = bitget(23.5:-l:l) С = 1 0 1 1 1 bitxor(A, В) — возвращает результат поразрядного исключающего ИЛИ для двух аргументов А и В. Оба аргумента должны быть целыми....
    Пример 8
    Пример 8 x=bitxor(12.31) х = 19 Чтобы операнды этих функций гарантированно были целыми числами, при их задании рекомендуется использовать функции ceil, fix, floor и round....
    Функции обработки множеств
    Функции обработки множеств Множество — первичное понятие математики, не имеющее четкого определения. Под множеством подразумевается совокупность некоторых объектов, например книг в библиотеке, люд...
    Пример 1
    Пример 1 А = [1 7 2 6]; В = [7 2 3 4 6 1]; [c,ia,ib] = intersect(А,В) 1 2 6 7 ia = 1 3 4 2 ib = 6 2 5 1 ismember(a.S) — возвращает вектор той же длины, что и исходный а, содержащий логические един...
    Пример 2
    Пример 2 set = [0 1 3 5 7 9 11 15 17 19]; а=[1 2345678]; k = ismember(a.set) k = 1 0 1 0 1 0 1 0 setdiff(a.b) — возвращает разность множеств, т. е., те элементы вектора а, которые не содержатся в...
    Пример 3
    Пример 3 а=[2 3 5 7 8 9 10 13 20]; b=[1456894] с = setdiff(a.b) с= 2 3 7 10 13 20 setxor(a.b) — исключающее ИЛИ для векторов а и b. Результирующий вектор отсортирован; setxor(a,b, 'rows') — возвра...
    Пример 4
    Пример 4 а = [-1 0 1 Inf -Inf NaN]; b = [-2 pi 0 Inf]; с = setxor(a.b) с = -Inf -2.0000-1.00001.0000 3.1416 NaN union(a ,b) — возвращает вектор объединенных значений из а и b без повторяющихся эле...
    Пример 5
    Пример 5 а=[2,4,-4,9,0]:b=[2,5,4]: [c,ia,ib]=union(a,b) с = -4 0 2 4 5 9 ia = 3 5 4 ib = 1 3 2 unique(a) — возвращает значения элементов из а, не содержащие повторений. Результирующий вектор сорти...
    Функции времени и даты
    Функции времени и даты Ряд функций служит для возврата текущего времени и даты. Они перечислены ниже. calendar(d) — возвращает календарь на месяц, в который попадает день, заданный аргументом d (д...
    Пример 1
    Пример 1 c=clock с = 1.0e+003 * 2.0000 0.0070 0.0240 0.0200 0.0120 0.0148 fix(clock) ans = 2000 7 24 20 12 26 cputime — возвращает время работы процессора (в секундах) , использованное системой MA...
    Пример 2
    Пример 2 +tl=cputime; w=surf(peaks(30));cputime-tl ans = 0.2200 str = date — возвращает строку, содержащую дату в формате дд-ммм-гггг (день-месяц-год)....
    Пример 3
    Пример 3 d = date d = 24-Jul-2000 datenum — преобразует строку даты в порядковый номер даты, который отсчитывается с некоторого начального дня (01.01.00); datenum(str) — преобразует дату, заданную...
    Пример 4
    Пример 4 n1 = datenum('26-Nov-1998') n1 = 730085 Y=[1998,2000];M-[1,12];D=23;N=datenum(Y,M,D) N = 729778 730843 datestr(D, dateform) — преобразует каждый элемент массива порядковых номеров даты D...
    Таблица 8.5.
    Таблица 8.5. Форматы представления даты Dateform(номер) Dateform (строка) Пример 0 'dd-rmiM-yyyy HH:MM:SS' 1l-Mar-1995...
    Пример 5
    Пример 5 t1 = now, t2 = rem(now,1) t1 = 7.3009e+005 t2 = 0.6455 tic — запускает таймер; toc — выводит время, прошедшее с момента запуска таймера; t = toe — возвращает прошедшее время в переменной...
    Пример 6
    Пример 6 tic.surf(peaks(50));toc elapsed_time = 0.7600 [N,S] = weekday(D) — возвращает день недели в виде числа N и в виде строки S для каждой даты массива D....
    Пример 7
    Пример 7 D=[728647,735730]:[N.S] = weekday(D) N = 2 1 S= Mon Sun...


Начало    



Книжный магазин