
- •Министерство образования и науки российской федерации федеральное агентство по образованию
- •Введение в matlab
- •Введение
- •Лабораторная работа №1. Решение простейших задач обработки матриц в системе matlab
- •1. Теоретическая часть
- •1.1. Интегрированная среда matlab
- •1.2. Простейшие примеры работы в matlab
- •1.3. Некоторые действия над матрицами
- •1.3.1. Вычисление сумм и транспонирование
- •1.3.2. Работа с файлами
- •1.3.3. Поэлементная обработка матриц
- •1.4. Оператор двоеточия
- •1.5. Решение задач обработки матриц
- •2. Задание
- •Лабораторная работа №2. Скрипты и функции в matlab
- •1. Теоретическая часть
- •Скрипты
- •1.3. Функции
- •1.4. Глобальные переменные
- •1.5. Отладка м-файлов
- •1.6. Профилирование м-файлов
- •2 . Задание
- •Лабораторная работа №3. Построение графиков в matlab
- •1. Теоретическая часть
- •Создание графиков функций одной переменой
- •1.2. Окна изображения
- •1.3. Расположение нескольких графиков в одном окне
- •1.4. Визуализация функций двух переменных
- •1.5. Сохранение графика
- •2. Задание
- •Лабораторная работа №4. Решение задач с функциями-параметрами в системе matlab
- •Теоретическая часть
- •Назначение подпрограмм-параметров
- •Манипулятор функции (Function Handle)
- •1.3. Класс Function Functions
- •П ример использования глобальных переменных
- •2. Задание
- •Лабораторная работа №5. Разработка простейших оконных приложений в системе matlab
- •1. Теоретическая часть
- •Среда визуального программирования guide
- •Разработка простейшего оконного приложения
- •Приложения, работающие с числовыми данными
- •Создание меню
- •1.5. Пример приложения с выводом графика
- •Задание
- •Приложение. Описание алгоритмического языка matlab
- •П.1. Имена в matlab
- •П.2. Типы данных
- •П.3. Константы
- •П.4. Операции и выражения
- •П.5. Кодирование основных алгоритмических структур
- •Библиографические ссылки
- •Содержание
Приложение. Описание алгоритмического языка matlab
Изучая алгоритмический язык ПАСКАЛЬ, мы придерживались точки зрения, что главное в программировании - это анализ задачи, выбор структур данных и разработка алгоритма. Кодирование на алгоритмическом языке является трудоемкой рутинной работой, но не содержит принципиальных трудностей. Выбор языка программирования (среди языков, ориентированных на решение определенного класса задач) не имеет решающего значения. Различия в правилах построения фраз языка не являются принципиальными, освоение этих правил - дело практики, а приверженность программиста к какому-то алгоритмическому языку обычно является следствием многолетней привычки. Используя этот подход, мы будем изучать язык программирования MATLAB, учитывая, что Вы умеете программировать на ПАСКАЛЕ.
П.1. Имена в matlab
Имя представляет последовательность латинских букв, цифр и символов подчеркивания, на первом месте которой стоит буква. Большие и малые буквы образуют различные имена. Имена могут состоять из произвольного числа символов, но различаются по первым символам, число которых возвращает функция namelengthmax. Вызовите ее из окна команд и узнайте это число.
Переменные, как правило, не объявляются. Тип и размер переменных определяются присваиваемыми значениями и могут изменяться в процессе выполнения программы. В таблице П.1 приведены некоторые функции, возвращающие специальные величины, которые могут быть полезны при работе в MATLAB. Эти имена (в том числе i и j) не стоит использовать для других целей.
Таблица П.1. Специальные величины и некоторые функции
Функция |
Возвращаемое значение |
ans |
самый последний результат (переменная). Если вы не присвоили значение выражения какой-нибудь переменной, то MATLAB автоматически сохранит результат в ans |
eps |
Относительная погрешность при вычислениях с плавающей точкой |
realmax |
Максимальное вещественное значение |
realmin |
Минимальное вещественное значение |
pi |
3.1415926535897... |
i, j |
Мнимая единица |
inf |
Бесконечность – результат деления n/0, если n не является комплексным числом и n0 |
NaN |
Not-a-Number – не число. В том числе выражения вида 0/0, inf/inf и n/0 при комплексном n. |
version |
версия MATLAB |
abs(x) |
абсолютная величина x |
atan(x) |
arctg(x) |
exp(x) |
ex |
log(x) |
натуральный логарифм x |
sin(x) |
sin(x) |
cos(x) |
cos(x) |
tan(x) |
tg(x) |
П.2. Типы данных
MATLAB имеет 15 основных типов данных. Каждый тип является массивом. Основные типы показаны жирным шрифтом на диаграмме рис. П.1.
Целые типы могут быть знаковыми или беззнаковыми, название беззнаковых типов начинается с латинской буквы u (от unsigned - англ. беззнаковый). Целое число, на которое оканчивается название типа, показывает, сколько байтов занимает одно значение этого типа. Естественно, чем большая память отводится на значение, тем шире диапазон его изменения.
MATLAB имеет два вещественных типа – single и double. Тип single характеризуется меньшей точностью представления чисел и меньшим диапазон чисел, чем double; соответственно, значение single занимает меньше памяти. Данные типа double имеют точность приблизительно 16 значащих десятичных цифр и диапазон изменения приблизительно от 10-308 до 10+308.
Тип double является основным типом MATLAB. Он принимается по умолчанию для числовых переменных. Переход к другим типам (например, int8) иллюстрируется рис. П.2. Все вычисления в MATLAB выполняются над переменными типа double. Остальные числовые типы используются для компактного хранения данных.
Манипуляторы функций (handle) имеют такое же назначение, как и процедуры-параметры ПАСКАЛЯ. Они рассматриваются в лабораторной работе №3.
Т
ип
структура (structure)
подобен типу запись в ПАСКАЛЕ. Тип cell
не имеет аналога в Паскале; он представляет
собой массив, элементом которого является
другой массив. Эти два типа, а также два
дополнительных типа (классы пользовательские
и java) мы рассматривать
не будем.