русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Арифметические операторы


Дата добавления: 2015-06-12; просмотров: 793; Нарушение авторских прав


Если элемент массива является скаляром и имеет числовой тип данных, он может использоваться в математическом выражении точно так же, как и обычный скаляр. Например, выражение M3,4 × 5 вычислит произведение числа "5" на значение указанного элемента массива М.

Если все элементы массива – скаляры числового типа, то этот массив (или имя переменной, связанной с этим массивом) может использоваться в качестве операнда математического выражения. Однако, в этом случае существуют ограничения на использование некоторых из традиционных "скалярных" арифметических операторов, а другие скалярные операторы трактуются специальным образом.

Кроме этого, MathCAD предоставляет ряд специальных операторов для обработки массивов.

В рассмотренных ниже примерах (таблица 3) используются следующие обозначения:

А и В – произвольные числовые массивы (векторы или матрицы);

С и D – двумерные массивы – матрицы;

M и N – квадратные матрицы;

U и V – одномерные массивы (векторы-столбцы);

z – скаляр числового типа;

m, n, r, i, j, k – целочисленные скаляры.

Таблица 3 – Операторы для обработки массивов

Обозначение Наименование оператора Результат
A +z A - z A × z A / z   Скалярное сложение, вычитание, умножение и деление Массив той же размерности, что и А, каждый элемент которого – результат выполнения операции над соответствующим элементом массива Аи скаляромz.
A + B A - B Поэлементное сложение и вычитание массивов одинаковой размерности   Массив той же размерности
÷ V÷ Модуль вектора (длина направленного отрезка, описываемого вектором) Скаляр - квадратный корень из суммы квадратов элементов вектора
÷ М÷ Детерминант Скаляр

Окончание таблицы 3



U×V Скалярное произведение векторов одинаковой длины Скаляр - сумма произведений соответствующих элементов векторов
U´V Векторное произведение трехэлементных векторов Вектор
C×D     Умножение матрицы С[m´n] на матрицу D[n´r] Матрица размерностью [m´r], каждый (i,k)-й элемент которой вычисляется, как сумма произведений элементов i-той строки первой матрицы на соответствующие элементы k-того столбца второй матрицы.
M-1   Обратная матрица Матрица того же порядка, что и М, результатом умножения которой на М является единичная матрица.
Mn     Целочисленная степень квадратной матрицы M0 –единичная матрица; M1 = M; M3 = M×M×M; Отрицательные степени – соответствующие положительные степени обратной матрицы.
AT Транспонирование Массив
åV Сумма элементов вектора Скаляр
¾----® W(A)   Векторизация выражения W(A) Если массив A является операндом "векторизованного" выражения W, то соответствующий оператор выражения трактуется, как скалярный, и выполняется над каждым элементом массива.

Примеры использования описанных выше операторов приведены на рисунке 10.

 

Рисунок 10 – Операторы, используемые для обработки массивов


Поясним особенности использования массивов в качестве операндов математических выражений на примерах, приведенных на рисунке 10.

Пример a) тривиален и не требует особых комментариев: любой двуместный арифметический оператор, операндами которого являются массив и скаляр, применяется ко всем элементам массива, в результате чего изменяются лишь значения элементов массива, а его структура сохраняется.

Если оба операнда – массивы (пример б), то тривиальными являются только операторы сложения и вычитания и лишь в том случае, если оба массива имеют одинаковую размерность. Например, оператор A+B не являетсядопустимым, а операторы U+V, A+BT и AT+B вполне корректны.

Пример в) иллюстрирует применение оператора " ê ê" с различными операндами. В этом операторе допускается использование только двух видов операндов-массивов: вектор – в этом случае вычисляется его модуль, и квадратная матрица – в этом случае вычисляется ее определитель. Заметим, что этот же оператор можно использовать и с числовым скаляром – в этом случае будет вычислена его абсолютная величина.

Пример г). Если два вектора (одинаковой размерности !) объединены оператором умножения (×), будет вычислено их скалярное произведение (скаляр, определяемый как сумма произведений соответствующих элементов векторов, или, в геометрической интерпретации – как произведение модулей векторов, умноженное на косинус угла между направленными отрезками, описываемыми этими векторами). Если два трехэлементных вектора объединены оператором (´), будет определен новый вектор – результат векторного произведения исходных векторов. Этот вектор имеет модуль, равный произведению модулей исходных векторов на синус угла между ними, и описывает направленный отрезок, перпендикулярный плоскости расположения исходных векторов.

Если операндами оператора умножения (×) являются не векторы, а матрицы (пример д), этот оператор выполняет умножение матриц, в результате которого формируется новая матрица (ограничения на размерности матриц и описание алгоритма выполнения операции приведены в таблице 1).

Пример е) иллюстрирует применение оператора возведения массива в степень. Операндом такого оператора может быть только квадратная матрица, а показатель степени может быть только целочисленным скаляром. При этом нулевая степень матрицы трактуется как единичная матрица, первая степень – сама исходная матрица, другие положительные степени матрицы трактуются в смысле операции матричного умножения, минус первая степень – обратная матрица (результатом умножения которой на исходную матрицу является единичная матрица), прочие отрицательные степени матрицы – соответствующие положительные степени обратной матрицы.

В примере ж) показаны операторы транспонирования массивов и суммирование элементов векторов. Следует обратить внимание на оператор транспонирования вектора: в результате формируется матрица, состоящая из одной строки. Обращение к элементам такой матрицы производится с использованием двойного индекса.

Последний пример иллюстрирует использование надстрочного оператора векторизации вычислений. Применение такого оператора к другим операторам, обрабатывающим массивы, существенно изменяет трактовку этих операторов и приводит к радикальному изменению результатов их выполнения. Например, оператор скалярного произведения векторов перестает быть таковым, а функция вычисления синуса оказывается применимой к операнду-массиву. Существует множество ситуаций, когда применение операторов векторизации позволяет существенно упростить решение задач, требующих многократных вычислений выражений, операнды которых оформлены в виде массивов.



<== предыдущая лекция | следующая лекция ==>
Определение массивов | Операторы преобразования массивов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.376 сек.