- •Введение
- •Лабораторная работа ип1 Знакомство с Matlab
- •1. Рабочая среда Matlab
- •2. Данные Matlab
- •Типы данных
- •Числовые константы
- •Символьные константы
- •Переменные
- •3. Выражения
- •3.1. Арифметические выражения
- •3.2. Логические выражения
- •3.3. Порядок вычисления выражений
- •4. Сообщения об ошибках и исправление ошибок
- •5. Завершение вычислений
- •6. Завершение работы с системой
- •7. Резюме
- •8. Контрольные вопросы
- •9. Индивидуальные задания
- •Лабораторная работа ип2 работа с матрицами в matlab
- •1. Общие сведения
- •2. Одномерные массивы – векторы
- •3. Двумерные массивы – матрицы
- •4. Использование двоеточия
- •4.1. Автозаполнение
- •4.2. Индексация
- •5. Поэлементные и матричные операции
- •6. Стандартные функции для работы с матрицами
- •7. Логическое индексирование
- •8. Контрольные вопросы
- •9. Индивидуальные задания
- •10. Упражнения
- •2. Диалоговый ввод/вывод
- •3. Управление последовательностью исполнения операторов
- •3.1. Оператор условия if
- •3.2. Оператор переключения
- •3.3. Оператор цикла с определенным числом повторений
- •3.4. Оператор цикла с неопределенным числом повторений
- •4. Контрольные вопросы
- •5. Индивидуальные задания
- •Лабораторная работа ип4 визуализация данных в matlab
- •1. Общие сведения
- •2. Построение таблицы значений функции
- •3. Двумерная графика
- •3.1. Общие правила построения графиков
- •3.2. Оформление графиков
- •3.3. Построение графиков
- •3.4. Управление свойствами графиков
- •4. Трехмерная графика
- •4.1. Общие принципы построения трехмерных графиков
- •4.2. Построение трехмерных графиков
- •4.3. Управление свойствами трехмерных графиков
- •5. Контрольные вопросы
- •6. Индивидуальные задания
- •Лабораторная работа ип5 файл-функции
- •2. Описание m-функции
- •3. Обращение к m-функции
- •4. Параметры-функции
- •5. Разновидности m-функций
- •5.1. Подфункции
- •5.2. Вложенные функции
- •6. Контрольные вопросы
- •7. Индивидуальные задания
- •2. Аппроксимация
- •2.1. Моделирование полиномом по методу
- •2.2. Аппроксимация произвольной функцией
- •3. Интерполяция
- •3.1. Кусочная интерполяция
- •3.2. Кубические сплайны
- •3.3. Интерполяция произвольной нелинейной функцией
- •4. Контрольные вопросы
- •5. Индивидуальные задания
- •Лабораторная работа ип7 Вычисление функций разложением в ряд
- •1. Общие сведения
- •2. Индивидуальное задание
- •Лабораторная работа ип8 Решение нелинейных уравнений в среде Matlab
- •1. Общие сведения
- •2. Поиск корней полиномов
- •3. Решение одного нелинейного уравнения
- •4. Решение систем нелинейных уравнений
- •5. Контрольные вопросы
- •6. Индивидуальные задания
- •Лабораторная работа ип9 обмен данными с текстовым файлом
- •1. Общие сведения
- •2. Открытие файла
- •3. Запись в текстовый файл
- •3.1. Запись строковых значений
- •3.2. Запись числовых значений
- •4. Чтение из текстового файла
- •4.1. Последовательное чтение строк
- •4.2. Последовательное чтение нескольких символов
- •4.3. Чтение чисел из текстового файла
- •4.4. Альтернативный доступ к текстовому файлу
- •5. Закрытие файла
- •6. Контрольные вопросы
- •7. Индивидуальные задания
- •Заключение
- •Список рекомендуемой литературы
- •Программирование в matlab
- •428015 Чебоксары, Московский просп., 15
3. Выражения
Центральным понятием всех математических систем является выражение. Оно задает то, что должно быть рассчитано в числовом (реже символьном или логическом) виде. Выражения строятся на основе операндов (чисел, констант, переменных, функций), знаков операций (операторов) и спецзнаков (например, скобок, двоеточий).
3.1. Арифметические выражения
Строится арифметическое выражение из числовых операндов и знаков арифметических операций (табл. 1.3).
Таблица 1.3
Знак операции |
Операция |
Пример |
^ |
Возведение в степень |
>> 3^2 ans = 9 |
* |
Умножение |
>> (2+3j)*(2-3j) ans = 13 |
/ |
Деление слева направо |
>> 6/2 ans = 3 |
\ |
Деление справа налево |
>> 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 =
6
Операндами математических функций могут быть как вещественные, так и комплексные величины. Элементарные математические функции имеют, как правило, один входной аргумент и возвращают один выходной параметр. Наиболее часто используемые элементарные математические функции приведены в табл. 1.4. С полным списком элементарных функций можно ознакомиться, выполнив в Command Window команду help elfun, а со списком специальных функций – с помощью команды help specfun. Внимание: в тексте help названия функций и команд приводятся заглавными буквами, но при использовании они должны набираться срочными!
Таблица 1.4
Функция |
Описание |
1 |
2 |
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, и поэтому выполняются предельно быстро.