Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Выражения. Центральным понятием всех математических систем является выражение




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

 

3.1. Арифметические выражения

Строится арифметическое выражение из числовых операндов и знаков арифметических операций (табл. 1.3).

Таблица 1.3

Знак операции Операция Пример
^ Возведение в степень >> 3^2 ans =
* Умножение >> (2+3j)*(2-3j) ans =
/ Деление слева направо >> 6/2 ans =
\ Деление справа налево >> 6\2 ans = 1/3
+ Сложение >> (2+3j)+(4-5j) ans = 6 - 2i
- Вычитание 2+3j-4-5j ans = -2 - 2i

Все арифметические операции определены как для вещественных, так и для комплексных операндов. Результатом вычисления арифметического выражения является соответствующее операндам числовое значение. В арифметических выражениях могут использоваться функции, как стандартные, так и задаваемые пользователем. Функции – это объекты, имеющие уникальные имена, выполняющие определенные преобразования своих аргументов и возвращающие результаты этих преобразований. Возврат результата – отличительная черта функций. В Matlab для обращения к функции (использования функции) в большинстве случаев применяется следующая форма:

ИмяРезультата = ИмяФункции (ПереченьАргументов);

где перечень аргументов (список входных параметров) может быть задан перечислением через запятую имен переменных, значений или выражений. В любом случае перед обращением к функции автоматически определяется конкретное значение входного параметра, и именно оно пересылается в функцию для обработки. В общем случае функция может иметь несколько выходных параметров (возвращать несколько значений, причем возможно разных типов). Результат вычисления функции с одним выходным параметром подставляется на место ее вызова, что позволяет использовать функцию в математических выражениях, например функцию sin в выражении 4+2sin(90°):

>> x=4+2*sin(pi/2)

x =

Операндами математических функций могут быть как вещественные, так и комплексные величины. Элементарные математические функции имеют, как правило, один входной аргумент и возвращают один выходной параметр. Наиболее часто используемые элементарные математические функции приведены в табл. 1.4. С полным списком элементарных функций можно ознакомиться, выполнив в Command Window команду help elfun, а со списком специальных функций – с помощью команды help specfun. Внимание: в тексте help названия функций и команд приводятся заглавными буквами, но при использовании они должны набираться срочными!

 

Таблица 1.4

Функция Описание
   
sin(x) Синус числа х
sinh(x) Гиперболический синус
asin(x) Арксинус (в диапазоне от -π/2 до π/2)
cos(x) Косинус
cosh(x) Гиперболический косинус
acos(x) Арккосинус (в диапазоне от 0 до π)
tan(x) Тангенс
atan(x) Арктангенс (в диапазоне от -π/2 до π/2)
atan2(x,y) Четырехквадрантный арктангенс (угол в диапазоне (-π, π] между горизонтальным правым лучом и лучом, проходящим через точку с координатами х и у)
exp(x) Экспонента числа х (ех)
log(x) Натуральный логарифм
log10(x) Десятичный логарифм
sqrt(x) Квадратный корень из числа х
abs(x) Модуль числа х (абсолютное значение)
round(x) Округление до ближайшего целого
mod(x,y) Остаток от деления x на y с учетом знака делимого
rem(x,y) Вычисление остатка от деления x на y
sign(x) Вычисление сигнум-функции числа х (0 при х=0; -1 при x<0; 1 при x>0)
real(z) Выделение действительной части комплексного числа z
imag(z) Выделение мнимой части комплексного числа z
angle(z) Вычисление аргумента комплексного числа z в диапазоне от -π до π
conj(z) Выдает число, комплексно сопряженное с z

 

Функции могут быть встроенными (внутренними) и внешними (m-функциями). Встроенными являются наиболее распространенные элементарные функции например, sin(x) и ехр(х), тогда как функция sinh(x) является внешней. Внешние функции содержат свои определения в отдельных m-файлах. Задание таких функций с помощью специального редактора m-файлов будет рассмотрено позже. Встроенные функции хранятся в откомпилированном ядре системы Matlab, и поэтому выполняются предельно быстро.

3.2. Логические выражения

Логические выражения строятся на основе логических функций (табл. 1.5), операций отношения (сравнения) и логических операций (табл. 1.6).

Таблица 1.5

Функция Описание
and(x,y) логическое И (конъюнкция)
or(x,y) логическое ИЛИ (дизъюнкция)
xor(x,y) логическое или НЕ(возвращает значение истина, когда аргументы разные)
not(x) логическое НЕ (инверсия)

 

Операндами логического выражения могут быть как числовые, так и символьные данные.

Таблица 1.6

Знак операции Операция Пример
~ Логическое отрицание ~ -10 ans =
== Проверка на равенство >> 100==1e2 ans =
~= Проверка на неравенство >> 'A'~='a' ans =
> Проверка на "больше" >> 'w'>'W' ans =
>= Проверка на "больше или равно" >> sqrt(5)>=2 ans =
< Проверка на "меньше" >> cos(2*pi/3)<0 ans =
<= Проверка на "меньше или равно" >> abs(1+2j)<=1 ans =
& Логическое умножение >> 10 & 0 ans =
| Логическое сложение >> 10 | 0 ans =

При выполнении логических операций действует следующее соглашение: ненулевые значения рассматриваются как истина (true), а нулевые как ложь (false). Для символьных данных в качестве значения используется порядковый номер символа в кодовой таблице. Результатом вычисления логического выражения является 0 (ложь, false) или 1 (истина, true). Причем это значения логического типа! Логические операторы & и | учитывают оба операнда для вычисления результата. В ряде случаев значение логического выражения определяется значением только первого операнда. Например, если первый операнд логического умножения равен false, то результат всегда будет false и незачем вычислять значение второго операнда. Операторы && и || отличаются тем, что они в подобных ситуациях не проверяют значение второго операнда.

 

3.3. Порядок вычисления выражений

Порядок вычисления скалярных выражений соответствует правилам, общепринятым в математике (табл. 1.7).

Таблица 1.7

Приоритет Знак операции Операция
  not and or xor и др. Вычисление функций
  ~ Отрицание
  + - ^ ' Знак плюс или минус перед числом, возведение в степень, транспонирование
  * / \ Умножение, деления
  + - Сложение, вычитание
  == ~= > >= < <= Операции отношения (сравнения)
  & Логическое умножение
  | Логическое сложение
  && Сокращенное логическое умножение
  || Сокращенное логическое сложение

 

Сначала вычисляются функции, потом выполняются однооперандные операции, затем – арифметические операции: сначала типа "умножение", потом типа "сложение", затем выполняются операции отношения и в последнюю очередь – двухоперандные логические операции & и |.

 

Пример

>> 2*-3^2+-7

ans =

-25

Выражение вычисляется следующим образом: 3 возводится в квадрат, полученное значение 9 берется с минусом (унарный минус) и умножается на 2, получается значение -18, которое затем складывается с числом -7. Для изменения порядка выполнения операций следует использовать круглые скобки. Например

>> 2*(-3)^2+-7

ans =

Операции одного приоритета выполняются слева направо

>> 2^3^2

ans =

>> (2^3)^2

ans =

Примечание: 1. В более ранних версиях Matlab некоторые операции имели другой приоритет. Например, & и | были одного приоритета. В Matlab7 у операции & приоритет выше, чем у |.

2. Поскольку сначала выполняются операции над аргументами функций, то выражения, одинаковые в математике, являются не эквивалентными в Matlab! Например, and(c,d)+w и c&d+w дают разные результаты при с=false, а d и w=true.

Рекомендация: если есть сомнения в порядке вычисления выражения – ставьте скобки. Это тот случай, когда "кашу маслом не испортишь".

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

 




Поделиться с друзьями:


Дата добавления: 2014-11-08; Просмотров: 858; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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