Лекция: Использование элементарных функций

Предположим, что требуется вычислить значение следующего выражения:

Введите в командной строке это выражение в соответствии с правилами MatLab и нажмите <Enter>:

» ехр (-2.5) *1оg (11.3) ^0.3-

sqrt {(sin (2.4 5*pi)+ cos ( 3. 78*pi)} /tan ( 3. 3) )

Ответ выводится в командное окно:

ans =

-3.2105

При вводе выражения использованы встроенные функции MatLab для вычисления экспоненты, натурального логарифма, квадратного корня и тригонометрических функций. Какие встроенные элементарные функции можно использовать и как их вызывать? Наберите в командной строке команду help eifun, при этом в командное окно выводится список всех встроенных элементарных функций с их кратким описанием. Аргументы функций заключаются в круглые скобки, имена функций набираются строчными буквами. Для ввода числа достаточно набрать pi в командной строке.

Арифметические операции в MatLab выполняются в обычном порядке, свойственном большинству языков программирования:

— возведение в степень ^;

— умножение и деление *, /;

— сложение и вычитание +, -.

Для изменения порядка выполнения арифметических операторов следует использовать круглые скобки.

Если теперь требуется вычислить значение выражения, похожего на предыдущее, например

,

то необязательно его снова набирать в командной строке. Можно воспользоваться тем, что MatLab запоминает все вводимые команды. Для повторного занесения их в командную строку служат клавиши <up>, <down>. Вычислите данное выражение, проделав следующие шаги.

1. Нажмите клавишу < >, при этом в командной строке появится введенное ранее выражение.

2. Внесите в него необходимые изменения, заменив знак минус на плюс и квадратный корень на возведение в квадрат (для перемещения по строке с выражением служат клавиши <right>, <left>, <Home>, <End>).

3. Вычислите измененное выражение, нажав <Enter>.
Получается

»exp(-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, затем нажимать клавишу < > до тех пор, пока в командной строке не появится требуемое выражения, и вычислить его, нажав <Enter>.

» format long e

» ехр(-2.5)*1од(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

При вычислении, например sqrt(-l), никакой ошибки или предупреждения не возникает. MatLab автоматически переходит в область комплексных чисел:

»sqrt (-1. 0)

ans =

0 + 1.00001

еще рефераты
Еще работы по истории