
- •Министерство образования и науки российской федерации федеральное агентство по образованию
- •Введение в 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. Кодирование основных алгоритмических структур
- •Библиографические ссылки
- •Содержание
1.2. Окна изображения
Первое обращение к функции plot открывает окно изображения (с заголовком Figure №1). При дальнейших вызовах plot рисует новые графики в уже имеющемся окне, при этом предыдущие графики стираются. Если перед обращением к plot вызвать команду hold on, новые графики будут добавляться к имеющимся. При необходимости добавление графика сопровождается автоматическим изменением масштаба. Следующая последовательность команд наглядно иллюстрирует действие команды hold on (см. рис.3.4):
hold on
y=(x.^2)./10; plot(x,y,'k-');
legend('sin(x)','sin(x-0.25)','sin(x-0.5)','0.1*x^2',2);
Для открытия нового окна изображения достаточно набрать команду figure без параметров. Выполнение команды figure(n) приведет активизации существующего окна с номером n. Последующие графики будут выводиться в это окно. Номер окна изображения показан в его заголовке.
1.3. Расположение нескольких графиков в одном окне
Функция subplot(m,n,p) позволяет выводить несколько графиков в одном окне (или на один лист бумаги). Параметры функции: m – число разбиений окна изображения горизонтальными линиями, n – вертикальными линиями, p –номер текущего подграфика; подграфики нумеруются по строкам, начиная с левого верхнего. Последовательность команд выводит каждую из функций sin(x), cos(x), ex, ln(x) в свою четверть окна (см. рис. 3.5):
x = 0:pi/10:2*pi;y1=sin(x); y2=cos(x);
subplot(2,2,1); plot(x,y1);legend('sin',1);
subplot(2,2,2); plot(x,y2);legend('cos',1);
x=-1:0.1:1;y3=exp(x); subplot(2,2,3);plot(x,y3);legend('exp',1);
x=0.1:0.1:2;y4=log(x);
subplot(2,2,4);plot(x,y4);legend('log',1);
1.4. Визуализация функций двух переменных
Функции mesh и surf отображают функцию z=f(x,y) в трех измерениях. Функция mesh создает каркасную поверхность, которая состоит из цветных линий, соединяющих заданные точки. Функция surf вместе с линиями отображает поверхность. Аргументами этих функций являются матрицы Х и Y, состоящие из повторяющихся строк x и столбцов y, соответственно. Для подготовки таких матриц используется функция meshgrid. Команды:
[X,Y] = meshgrid(-8:.5:8,-4:0.25:4);
R = sqrt(X.^2 + (2.*Y).^2) + eps; Z = sin(R)./R;
mesh(X,Y,Z)
отображают
поверхность
.
Ответьте на вопрос: зачем при вычислении
R прибавляется
eps?
Ц
вета
подбираются автоматически, чтобы лучше
был виден рельеф поверхности. Функция
mesh может иметь
четвертый параметр – матрицу, которая
хранит цвет каждой задаваемой точки
поверхности. Кроме того, существует
следующая форма функции:
mesh(X,Y,Z, 'строка1',
'строка2').
Например, команда mesh(X,Y,Z,'EdgeColor','black')
даст черно-белое изображение каркаса
поверхности (см. рис. 3.6).
1.5. Сохранение графика
Команда главного меню File/Save (Save as) сохраняет график в MATLAB-формате. Команда File/Export from осуществляет сохранение в других графических форматах (TIFF, BMP, и т. п. ). Можно также использовать оператор командной строки:
saveas(gcf,'[путь\]имя.расширение')
где gcf –цифровой идентификатор файла (Handle) текущего графического окна; если путь не указан, то файл сохраняется в текущей директории MATLAB.
2. Задание
Запустите MATLAB и выполните все примеры теоретической части.
Запрограммируйте функции заданий [3] 1.7.N,N+1. Предварительно скорректируйте значения функции в особых точках с помощью оператора if или прибавления к нулевым значениям eps. Учтите, что в ситуациях, где среды Borland Pascal и DELPHI выдают сообщение об ошибке (извлечение корня из отрицательного числа, взятие логарифма отрицательного числа, и т. п.), MATLAB вычисляет комплексное значение функции. Постройте графики для функций из заданий [3] 1.7.N,N+1. Визуально определите точки, в которых функции принимают минимальное, максимальное и нулевое значение.
Постройте график функции задания [3] 1.8.N+1 и визуально определите характерную точку функции в соответствии с заданием.
С помощью функции mesh постройте изображение поверхности для функции двух переменных из задания [3] 2.1.N+1.
Расположите все графики в одном окне, используя функцию subplot.
Сохраните все графики в формате MATLAB и в формате BMP.