Основные сведения о языке пакета MATLAB.
Стр 1 из 5Следующая ⇒ Основные сведения о языке пакета MATLAB.
Для получения помощи необходимо обратиться к команде HELP. При выполнении ее без параметров на экран выводятся списки символов, функций и команд по каталогам пакета. Для получения справки по конкретному обьекту нужно ввести команду HELP < имя обьекта>. Угловые скобки здесь и далее употребляются для выделения неформального описания элементов команд и при вызове команды не используются. 1. 1. Представление данных. Пакет MATLAB ориентирован на обработку матричных данных произвольной формы и с комплексными элементами. Этот способ является достаточно универсальным, так как скаляр можно рассматривать как матрицу размером 1 x 1, m-мерный вектор (последовательность m чисел )- это матрица размером 1 x m (строка) или m x 1 (столбец). Числа представляются в десятичной системе, дробная часть отделяется от целой точкой, для обозначения порядка числа используется латинское Е или е, за которым без пробела и скобок следует величина порядка. Например: 5, -10, 3. 14, 314Е-2, 0. 314Е1, . 21. Вектор изображается последовательностью чисел, заключенных в квадратные скобки и разделенных пробелами или запятыми. Матрица также заключается в квадратные скобки, а строки отделяются друг от друга точкой с запятой. Например: V=[3 10 20 25], А=[1 2 3; 10 11 15; 5 7 4]. При другом способе ввода матрицы можно нажимать клавишу " ввод" в конце каждой строки вместо того, чтобы разделять их знаком " точка с запятой". Выводится матрица на экран дисплея в естественной форме по строкам. Для обозначения элемента матрицы или вектора используются круглые скобки, в которых указываются индексы элемента, например:
V(1), V(4), А(1, 3), А(i, j). С помощью знака ": " можно выделить строку или столбец матрицы А(:, j) - j-ый столбец матрицы A, A(i,: ) - i-ая строка матрицы A, А(: ) - все элементы А, расположенные в последовательность (вектор) по столбцам. Кроме того, с помощью этого знака можно образовывать вектора с равноотстоящими элементами. Например, если j, h и k - действительные числа, то V=j: k эквивалентно V=[j, j+1,... k], (k> j), V=j: h: k эквивалентно V=[j, j+h, j+2h,..., k], (h> 0 и j< k или h< 0 и j> k). Если указанные условия для j, k и h не выполнены, то будет создан пустой вектор, обозначаемый как V = [ ]. Комплексные числа при выводе записываются в обычной форме a + bj или a + bi. При вводе комплексное число нужно представлять в виде арифметического выражения с использованием знака умножения *: a + b * i или a + b * j. Однако, идентификаторы i и j часто используют для обозначения индексов векторов или матриц или параметров циклов, после чего для ввода комплексных чисел нужно использовать явное выражение для мнимой единицы в виде квадратного корня (SQRT) из -1, например, 1. 52 + 4. 5*SQRT(-1). Если предварительно обозначить I=SQRT(-1), то можно вводить комплексное число в виде a+b*I. В пакете приняты стандартные обозначения некоторых констант. Это числа pi = 4arctg(1) = 3. 1415926535897, eps - для обозначения машинной точности, т. е. разности между 1. 0 и ближайшим следующим числом с плавающей точкой. Для обозначения бесконечности, например, результата деления на ноль, используется Inf, аналогичный смысл имеет NaN - результат неопределенной операции. Для обозначения результата вычисления выражений используется ans. 1. 2. Простые вычисления в MATLAB. В режиме вычислений достаточно набрать требуемое выражение, используя знаки операций +, -, / (деление), * (умножение), ^ (возведение в степень) и круглые скобки, если необходимо изменить естественный порядок математических операций. Например: (1. 365 + 20. 981)*17. 345 + 20. 34/5. 7.
Нажав ввод, в следующей строке получим ответ в виде ans=391. 1598. Запомнить результат можно с помощью оператора присваивания, в левой части которого задан идентификатор, а в правой - выражение, понимаемое в том же смысле, как в других языках программирования высокого уровня (ФОРТРАН, СИ). Размерность полученной переменной будет определяться размерностью вычисленного выражения. Например, a = 10, b = 120/1. 7, c = a + b*sqrt(-1), D = [5 4 7], F = [12 15 7; 9 21 25], G=D'. Здесь переменные a, b и c - скаляры, D - вектор-строка размером 1 x 3, F - матрица размером 2 x 3, с - комплексная переменная. Знак ' (апостроф) означает транспонирование матрицы, так что G - вектор-столбец длиной 3 (или матрица размером 3 x 1). Операция транспонирования имеет такой же приоритет, что и операция возведения в степень. Основные арифметические операции могут выполняться с совместными по размерам матрицами, например, с использованием введенных выше данных F и G можно выполнить: Z = F*G+[1 0]'. Матрица Z будет иметь размерность 2 x 1. Операции сложения или вычитания для матриц или векторов (одинаковых размеров) всегда выполняются поэлементно. Для мультипликативных операций предусмотрено также поэлементное выполнение операций. На это указывает знак точка перед знаком операции( без пробела между ними). Таким образом, к матрицам одинакового размера могут применяться операции. *, . ^, . /. Например, если AR и BR - матрицы размером m x n, то CR = AR. ^BR эквивалентно CR(i, j) = AR(i, j)^BR(i, j), i=1,..., m, j=1,..., n. Если в арифметической операции один операнд - скаляр, а другой - вектор или матрица, операция всегда выполняется поэлементно. Если знак поэлементной операции следует непосредственно за числом, нужно отделить его от числа пробелом, иначе знак точка будет связан с числом, и операция будет интерпретироваться как матричная. Кроме арифметических операций в MATLAB доступны логические операции и операции отношения, причем, значение " истина" представляется единицей, а значение " ложь" -нулем. Для обозначения операций отношения используются в обычном смысле знаки <, < =, >, > =, == (равно) и ~= ( не равно). Знаки логических операций - это & (и), | (или) и ~ (логическое отрицание). В качестве операндов могут быть матрицы одинаковых размеров, или один из операндов должен быть скаляром. Операции выполняются поэлементно, результатом будет матрица того же размера. Если среди операндов логических операций не все значения равны 0 или 1, любое ненулевое значение рассматривается как 1. Так, для операции X=~Y, где Y - матрица, элемент матрицы X будет равен 0, если соответствующий элемент Y не равен 0, и 1-в противном случае.
Операция транспонирования для комплексной матрицы выполняется с заменой элементов на комплексно-сопряженные. Для того, чтобы такая замена не производилась, вместо знака ' (апостроф) следует использовать знак с точкой. '. Например, при выполнении последовательности команд I=SQRT(-1); AB=[1+2*I 3+10*I 5-7*I]; AC=AB. ', AD=AB' результат будет: AC=[1+2i AD=[1-2i 3+10i 3-10i 5-7i] 5+7i]. Отметим, что точка с запятой в конце оператора отменяет вывод результата на экран. Троеточие в конце строки означает продолжение оператора на следующую строку. В одной строке может быть и несколько операторов, они должны разделяться запятыми, если не оканчиваются точкой с запятой.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|