Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Основные сведения о языке пакета MATLAB.




Основные сведения о языке пакета 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...