1.1. Простейшие математические операции в matlab
Для проведения расчетов в командном режиме предназначено окно "Command Window". Главная особенность этого режима состоит в том, что каждая команда выполняется сразу после ее ввода, при этом можно наблюдать за результатами их выполнения. Недостатком такого режима работы является то, что последовательность введенных команд не сохраняется в каком-либо файле, не считая истории введенных команд, и при перезапуске среды MATLAB, для повторного использования той же последовательности команд, их придется вводить заново (или копировать из истории). Но зато такой режим работы позволяет быстро проверить работу той или иной функции (стандартной или написанной пользователем).
Вводить команду надо после символов "приглашения": >>. Например:
>> 2 + 3
ans =
5
В данном случае мы сложили два числа, а так как результат не был явно присвоен никакой переменной, то MATLAB присвоил результат переменной ans. Таким же образом можно использовать различные операторы и функции, некоторые из которых приведены в таблице 1.1:
Таблица 1.1
Математические операторы и функции | |
+ | Сложение |
- | Вычитание |
* | Умножение |
/ | Деление |
\ | Обратное деление, результатом этой операции является деление правого аргумента на левый |
abs | Модуль величины |
mod | Остаток от деления |
exp | Экспонента |
log | Натуральный логарифм |
log10 | Десятичный логарифм |
log2 | Логарифм по основанию 2 |
sqrt | Квадратный корень |
Тригонометрические функции | |
cos | Косинус аргумента, заданного в радианах |
cosd | Косинус аргумента, заданного в градусах |
sin | Синус аргумента, заданного в радианах |
sind | Синус аргумента, заданного в градусах |
tan | Тангенс аргумента, заданного в радианах |
tand | Тангенс аргумента, заданного в градусах |
cot | Котангенс аргумента, заданного в радианах |
cotd | Котангенс аргумента, заданного в градусах |
sinc | Синк аргумента |
Обратные тригонометрические функции | |
acos | Арккосинус, результат возвращается в радианах |
acosd | Арккосинус, результат возвращается в градусах |
asin | Арксинус, результат возвращается в радианах |
asind | Арксинус, результат возвращается в градусах |
atan | Арктангенс, результат возвращается в радианах и лежит в интервале [-/2 |
atand | Арктангенс, результат возвращается в градусах и лежит в интервале [-90 |
atan2 | Арктангенс, результат возвращается в радианах и лежит в интервале [- |
acot | Арккотангенс, результат возвращается в радианах и лежит в интервале [-/2 |
acotd | Арккотангенс, результат возвращается в градусах и лежит в интервале [-90 |
Таким же образом, можно вычислять и более сложные выражения:
>> 2.0 * sind(30) + tand(45) * abs(sind(-30))
ans =
1.5000
При делении положительного числа на 0 будет получено значение +∞ (или в терминах MATLAB – «Inf»), при делении отрицательного числа на 0 будет получено значение -∞ (или в терминах MATLAB – «-Inf»). При делении 0 на 0 результатом будет NaN (сокращение от слов Not-a-Number). Это продемонстрировано в следующем примере:
>> 2 / 0
ans =
Inf
>> -5 / 0
ans =
-Inf
>> 0 / 0
ans =
NaN
Значения Inf, -Inf и NaN могут использоваться в выражениях, что часто случается неявно в результате ошибок при вычислении. Работа некоторых операций с Inf, -Inf и NaN показаны в следующем примере:
>> 10 + Inf
ans =
Inf
>> 5 - Inf
ans =
-Inf
>> 10 / Inf
ans =
0
>> Inf * 0
ans =
NaN
>> Inf - Inf
ans =
NaN
>> NaN + 2
ans =
NaN
>> NaN / NaN
ans =
NaN
>> NaN / Inf
ans =
NaN
>> 0 * NaN
ans =
NaN
Поскольку MATLAB является полноценным языком программирования, то в нем существует возможность добавления комментариев, которые игнорируются транслятором при выполнении программы. Комментарий начинается с символа % и продолжается до конца строки. Далее показано использование комментариев:
>> % Этот комментарий должен пояснять следующую формулу
>> 2.0 * sind(30) + tand(45) * abs(sind(-30))
ans =
1.5000
- Оглавление
- Предисловие
- Раздел 1. Основные сведения о среде программирования «matlab»
- Глава 1. Вычисления в командном режиме
- 1.1. Простейшие математические операции в matlab
- 1.2. Переменные
- 1.3. Создание матриц
- 1.4. Доступ к элементам матриц
- 1.5. Операции с матрицами
- 1.6. Ввод, вывод и работа со строками
- Глава 2. Построение графиков в matlab
- 2.1. Построение графика в виде двумерной линии
- 2.2. Оформление графиков
- 2.3. Построение трехмерных графиков
- 2.4. Построение линий уровня
- 2.5. Построение векторного поля
- 2.6. Отображение нескольких графиков в одном окне
- Глава 3. Скрипты в matlab и управляющие конструкции
- 3.1. Создание и выполнение скриптов в matlab
- 3.2. Оператор for
- 3.3. Логические операции
- 3.4. Оператор if / elseif / else
- 3.5. Оператор while
- 3.6. Операторы break / continue
- 3.7. Оператор switch
- 3.8. Создание функций
- Раздел 2. Краткие теоретические сведения и задания Тема 1. Векторный анализ
- 1.1. Элементы векторного анализа
- Задания
- Тема 2. Уравнения Максвелла (произвольная и гармоническая временная зависимость, статические, стационарные и квазистационарные поля)
- 2.1. Система уравнений электродинамики – уравнения Максвелла
- 2.2. Граничные условия. Принцип эквивалентности
- Задания
- Тема 3. Плоские волны
- 3.1. Явление дисперсии и групповая скорость
- Задания
- Тема 4. Граничные задачи, уравнения и методы
- 4.1. К классификации электромагнитных явлений
- Задания
- 4.2. Метод конечных разностей
- 4.2.1. Конечно-разностная аппроксимация
- 4.2.2. Конечно-разностная аппроксимация уравнений Лапласа и Пуассона
- 4.2.3. Конечно-разностная аппроксимация для граничных узлов
- Задания
- Литература