- •1. Цель работы
- •2. Краткие сведения о пакете matlab
- •2.1. Рабочая среда пакета MatLab
- •2.2. Арифметические вычисления
- •2.2.1. Простейшие вычисления
- •2.2.2. Форматы вывода результата вычислений
- •2.3. Использование элементарных функций
- •2.4. Работа с комплексными числами
- •3. Простейшие вычисления в пакете MatLab с использованием переменных и векторов
- •3.1. Использование переменных в пакете MatLab
- •3.2. Сохранение рабочей среды
- •3.3. Просмотр переменных
- •3.4. Работа с массивами
- •3.4.1. Ввод, сложение и вычитание векторов
- •3.4.2. Работа с элементами векторов
- •3.4.3. Применение функций обработки данных к векторам
- •4. Индивидуальные задания
- •5. Содержание отчета
2.3. Использование элементарных функций
Предположим, что требуется вычислить значение следующего выражения:
.
Введите в командной строке это выражение в соответствии с правилами 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. Нажмите клавишу <>, при этом в командной строке появится введенное ранее выражение.
2. Внесите в него необходимые изменения, заменив знак минус на плюс и квадратный корень на возведение в квадрат (для перемещения по строке с выражением служат клавиши <right>, <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, затем нажимать клавишу <> до тех пор, пока в командной строке не появится требуемое выражения, и вычислить его, нажав <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
При вычислении, например sqrt(1), никакой ошибки или предупреждения не возникает. MatLab автоматически переходит в область комплексных чисел:
»sqrt(1.0)
ans =
0 + l.0000i