Использование элементарных функций
Предположим, что требуется вычислить значение следующего выражения:
Введите в командной строке это выражение в соответствии с правилами MatLab и нажмите <Enter>: » ехр(-2.5)*lоg(11.3)^0.3-sqrt((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))
Ответ выводится в командное окно: ans = -3.2105
При вводе выражения использованы встроенные функции MatLab для вычисления экспоненты, натурального логарифма, квадратного корня и тригонометрических функций. Какие встроенные элементарные функции можно использовать и как их вызывать? Наберите в командной строке команду help eifun, при этом в командное окно выводится список всех встроенных элементарных функций с их кратким описанием. Аргументы функций заключаются в круглые скобки, имена функций набираются строчными буквами. Для ввода числа л достаточно набрать pi в командной строке. Арифметические операции в MatLab выполняются в обычном порядке, свойственном большинству языков программирования: - возведение в степень ^; - умножение и деление *, /; - сложение и вычитание +, -.
Для изменения порядка выполнения арифметических операторов следует использовать круглые скобки. Если теперь требуется вычислить значение выражения, похожего на предыдущее, например: то необязательно его снова набирать в командной строке. Можно воспользоваться тем, что MatLab запоминает все вводимые команды. Для повторного занесения их в командную строку служат клавиши <up>, <down>. Вычислите данное выражение, проделав следующие шаги: 1. Нажмите клавишу <up>, при этом в командной строке появится введенное ранее выражение. 2. Внесите в него необходимые изменения, заменив знак минус на плюс и квадратный корень на возведение в квадрат (для перемещения по строке с выражением служат клавиши <rigth>, <left>,<Home>, <End>).
3. Вычислите измененное выражение, нажав <Enter>.
Получается
»ехр(-2.5)*log(11.3)^0.3+((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))^2 ans = 121.2446
Если необходимо получить более точный результат, то следует выполнить команду format long e, затем нажимать клавишу <up> до тех пор, пока в командной строке не появится требуемое выражения, и вычислить его, нажав <Enter>. » format long e »exp(-2.5)*log(11.3)^0.3+((sin.(2.45*pi)+cos(3.78*pi))/tan(3.3))^2 ans = 1.212446016556763e+002
Вывести результат последнего найденного выражения в другом формате можно без повторного вычисления. Следует изменить формат командой short, а затем посмотреть значение переменной ans, набрав ее в командной строке и нажав <Enter>: » format short » ans ans = 121.2446
В рабочей среде MatLab 6.x для вызова ранее введенных команд имеется удобное средство - окно Command History с историей команд. История команд содержит время и дату каждого сеанса работы с MatLab 6.x. Для активизации окна Command History необходимо выбрать вкладку с одноименным названием. Текущая команда в окне изображена на синем фоне. Если щелкнуть на какой-либо команде в окне левой кнопкой мыши, то данная команда становится текущей. Для ее выполнения в MatLab надо применить двойной щелчок мыши или выбрать строку с командой при помощи клавиш <up>, <down> и нажать клавишу <Enter>. Лишнюю команду можно убрать из окна. Для этого ее надо сделать текущей и удалить при помощи клавиши <Delete>. Можно выделить несколько идущих подряд команд при помощи комбинации клавиш <Shift>+ <up>,<Shift>+<down> и выполнить их при помощи <Enter> или удалить клавишей <Delete>. Выделение последовательно идущих команд можно производить левой кнопкой мыши с одновременным удерживанием клавиши <Shift>. Если команды не идут одна за другой, то для их выделения следует использовать левую кнопку мыши с удерживанием клавиши <Ctrl>.
При щелчке правой кнопкой мыши по области окна Command History появляется всплывающее меню. Выбор пункта Сору приводит к копированию команды в буфер Windows. При помощи Evaluate Selection можно выполнить отмеченную группу команд. Для удаления текущей команды предназначен пункт Delete Selection. Для удаления всех команд до текущей - Delete to Selection, для удаления всех команд - Delete Entire History. При вычислениях возможны некоторые исключительные ситуации, например деление на ноль, которые в большинстве языков программирования приводят к ошибке. При делении положительного числа на ноль в MatLab получается inf (бесконечность), а при делении отрицательного числа на ноль получается -inf (минус бесконечность) и выдается предупреждение: » 1/0 Warning: Divide by zero. Ans = Inf При делении нуля на нуль получается NaN (не число) и также выдается предупреждение: » 0/0 Warning: Divide by zero. Ans = NaN Как узнать, какие встроенные элементарные функции можно использовать и как их вызывать? Наберите в командной строке команду help elfun, при этом в командное окно выводится список всех встроенных элементарных функций с их кратким описанием. В системе MATLAB для вычисления числа «пи» есть специальное обозначение: pi. (Список системных переменных MATLAB находится в Приложении 1). MATLAB имеет также логические функции, функции, связанные с целочисленной арифметикой (округления до ближайшего целого: round, усечение дробной части числа: fix). Есть еще функция mod – остаток от деления с учетом знака, sign – знак числа, lcm – наименьшее общее кратное, perms – вычисление числа перестановок и nchoosek – числа сочетаний и много других. Многие из функций имеют область определения, отличную от множества всех действительных чисел. Помимо арифметических операций над операндами типа double выполняются еще операции отношения и логические операции. Операции отношения сравнивают между собой два операнда по величине. Эти операции записываются следующими знаками или комбинациями знаков (Таблица 1): Таблица 1 Символьные обозначения операций отношения
В случае истинности операции отношения ее величина равна 1, а в случае ложности – 0. Операции отношения имеют более низкий приоритет, чем арифметические операции.
Наберите с клавиатуры выражение с операциями отношения и вычислите его: » a=1; b=2; c=3; » res=(a<b)+(c~=b)+(b==a) Вы получите следующий результат: res = 2 9 Логические операции над вещественными числами обозначаются знаками, перечисленными в таблице 2:
Таблица 2 Символьные обозначения логических операций
Первые две из этих операций являются бинарными (двухоперандными), а последняя – унарной (однооперандной). Логические операции трактуют свои операнды как «истинные» (не равные нулю) или «ложные» (равные нулю). Если оба операнда операции «И» истинны (не равны нулю), то результат этой операции равен 1 («истина»); во всех остальных случаях операция «И» вырабатывает значение 0 («ложь»). Операция «ИЛИ» вырабатывает 0 («ложь») только в случае, когда являются ложными (равными нулю) оба операнда. Операция «НЕ» инвертирует «ложь» на «истину». Логические операции имеют самый низкий приоритет.
Читайте также: II. Использование галереи фильтров Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|