"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)равно 0.
Теперь обратим внимание на важную роль точки с запятой в М-языке системы MATLAB. В нем точка с запятой может использоваться для разных целей. Когда мы вводим с клавиатуры некоторое выражение (оно расположено после знака приглашения >>) и нажимаем клавишу Enter, MATLAB производит MATLAB 5.x. Вычисления, визуализация, программирование 13 вычисление этого выражения и выводит результат в свое командное окно. Если мы не хотим тотчас же видеть результат вычислений (это характерно, например, для промежуточных результатов), то в конце введенного выражения следует поставить точку с запятой и только после этого нажать Enter. Таким образом, точка с запятой подавляет вывод результатов вычислений в командное окно системы MATLAB. Кроме того, если мы хотим за один раз, то есть одним нажатием клавиши Enter, вычислить несколько разных выражений, а их значения присвоить разным переменным, то эти выражения следует отделить друг от друга точкой с запятой. Таким образом, точка с запятой работает и как разделитель. Имеются и другие варианты применения точки с запятой в М-языке системы MATLAB, о которых мы расскажем позже. Логические операции над вещественными числами обозначаются знаками, перечисленными в следующей таблице: & I - и или НЕ Первые две из этих операций являются двухоперандными (бинарными), а операция «НЕ» является унарной (однооперандной). Знак ~ ставится перед операндом, а знаки & и | ставятся между операндами. Логические операции трактуют свои операнды как «истинные» (не равные нулю) или «ложные» (равные нулю). Если оба операнда операции «И» истинны (не равны нулю), то результат этой операции равен 1 («истина»); во всех остальных случаях операция «И» вырабатывает значение 0 («ложь»). Операция «ИЛИ» вырабатывает 0 («ложь») только в случае, когда являются ложными (равными нулю) оба операнда. Наконец, операция «НЕ» инвертирует «ложь» на «истину» и наоборот. То есть если ее операндом является ненулевое число, то эта операция вырабатывает 0, а если операнд нулевой, то тогда результатом применения операции «НЕ» будет 1. Логические операции имеют самый низкий приоритет. В одном и том же выражении можно использовать все перечисленные операции: арифметические, логические и операции сравнения. Последовательность выполнения операций определяется их расположением внутри выражения, их приоритетом и наличием круглых скобок. В системе MATLAB присутствуют все основные элементарные функции для вычислений с вещественными числами: степенные, показательные, тригонометрические и обратные к ним. Любая функция характеризуется своим именем, списком входных аргументов (перечисляются через запятую и стоят внутри круглых скобок, следующих за именем функции) и вычисляемым (возвращаемым) значением. 14 Глава 1. Числовые массивы в системе MATLAB Сначала рассмотрим логическую функцию хог, дополняющую ранее рассмотренный набор логических операций. Эта функция имеет два входных аргумента и вычисляет над ними операцию «исключающее ИЛИ», которая вырабатывает 1 («истина») только в случае, когда один из числовых аргументов истинен (не равен нулю), а другой ложен (равен нулю). Например, а = 1; b = 0; xor( a, b ) ans = 1 а если оба аргумента истинны или оба ложны, то эта функция вырабатывает 0: а=1; Ь=1; хог ( a, b ) ans = 0 Помимо операции возведения в степень, реализуемой с помощью знака л, есть еще функция извлечения квадратного корня sqrt, функция ехр для возведения в степень числа е, функция pow2 для возведения в степень числа 2. Также присутствуют обратные к ним функции: log - натуральный логарифм, loglO -логарифм по основанию 10, 1од2 -логарифм по основанию 2. В системе MATLAB можно получить справочную информацию по любой элементарной функции, выполнив команду help имя_функции Тригонометрические функции представлены весьма полно: sin, cos, tan (тангенс), cot (котангенс), asin (арксинус), acos (арккосинус), atan (арктангенс), acot (арккотангенс). Имеются также и менее употребительные функции типа секанса, косеканса, а также гиперболические функции. Для примера вычислим выражение 2 * asin( 1 ), включающее вычисление функции asin, и получим следующий результат: 3.1416 соответствующий числу 1. В системе MATLAB для числа Ч есть специальное обозначение pi. Упомянем еще функции, связанные с целочисленной арифметикой. Например, функции округления: round (округление до ближайшего целого), fix (усечение дробной части числа), floor (округление до меньшего целого), ceil (округление до большего целого). Кроме того, есть еще функции mod (остаток от деления с учетом знака), rem (остаток в смысле модульной арифметики), sign (знак числа), factor (разложе- MATLAB 5.x. Вычисления, визуализация, программирование 15 ние числа на простые множители), isprime (истинно, если число простое), primes (формирование списка простых чисел), rat (приближение числа в виде рациональной дроби), lcm (наименьшее общее кратное), gcd (наибольший общий делитель). Функции mod и rem дают одинаковый результат для положительных аргументов. В частности, mod( 7, 2 ) == rem( 7, 2 ) == 1 но для операций с аргументами разных знаков они вырабатывают разные значения; mod( -7, 2 ) = 1 ; rem( -7, 2 ) = -1 В общем случае эти функции связаны с функциями округления следующим образом: rem( х, у ) == х - у * fix( x / у ) mod( х, у ) == х - у * floor( x / у ) И наконец, есть функции, решающие стандартные задачи комбинаторики: функция perms вычисляет число перестановок, а функция nchoosek - число сочетаний. Например, число сочетаний из 10 по 3 легко находится вызовом функции nchoosek ( 10, 3 ) (см. рис. 1.8). •> MATLAB Command Window he id t Window tfclp »nchoosek(10,3) ans = 120 jj 1Ы Рисунок 1.8 Многие из перечисленных функций имеют область определения, отличную от R (множество всех действительных чисел). Когда для функции задается недопустимое значение аргумента или совершается попытка выполнить недопустимую операцию, в командном окне появляется предупреждающее сообщение. Например, сообщение Warning: Divide by zero. 16 Глава 1. Числовые массивы в системе MATLAB появляется при попытке деления на нуль. А в качестве результата выводится ans = Inf |
|
|