
- •Введение
- •Основы программирования в среде пакета matlab Типы данных
- •Имена переменных и функций
- •Операция присваивания
- •Генерация обычных векторов и матриц
- •Операции над данными Стандартные функции Matlab
- •Манипуляции с матрицами
- •Операторы языка Matlab
- •Основные логические функции
- •Оператор выбора
- •Формирование собственных m-файлов пользователя
- •Глобальные переменные
- •Графические средства пакета matlab
- •Двухмерная графика
- •Трехмерная графика
Глобальные переменные
Обычно каждая m-функция имеет локальные переменные, не доступные в других функциях, программных файлах и в рабочем пространстве (извне). Однако, если некоторые переменные необходимо сделать доступными извне, то в самой функции и в каждой из сред, использующих эти данные, следует такие переменные описать как глобальные:
global имя_переменных
Например,
global ALFA
global A MATRIX RADIUS
Принято идентификаторы таких глобальных переменных формировать заглавными буквами.
Пример. Изучить влияние коэффициентов и на решение системы дифференциальных уравнений
при
и при начальных условиях
.
Создадим m-файл правых частей ДУ:
function xp = diffurav (t, x)
% Файл правых частей ДУ
global ALFA BETA
xp = [x(1) – ALFA*x(1)*x(2); –x(2) + BETA*x(1)*x(2)];
и сохраним его с именем diffurav.m в доступном каталоге пользователя.
В командной строке интерактивно вводим следующие операторы:
» global ALFA BETA
» ALFA=0.1; BETA=0.02;
» [t, x] = ode23('diffurav',[0 10],[1 1]);
» plot(t, x), grid on
Теперь в командной строке можно интерактивно менять значения и и получить новое решение системы ДУ без редактирования каких-либо файлов.
Графические средства пакета matlab
Графические средства Matlab ориентированы не на редактирование художественных изображений, а на построение двух- и трехмерных графиков функциональных зависимостей в самой разнообразной форме.
Построение графика выполняется в специальном объекте – графическом окне (figure) – создание которого произойдет при выполнении оператора
figure
либо автоматически перед выполнением какой-либо графической m-функции (если до этого не было создано ни одного графического окна).
Примем обозначения: x, y, u – векторы; A, B, C – двухмерные матрицы; i, m, n – скаляры, z – комплексное число или вектор комплексных чисел.
Двухмерная графика
Построение графиков в декартовых координатах
Наиболее распространенной является функция plot. Форматы вызова:
plot(y) – строит значения элементов вектора y в функции их порядкового номера (адреса) – yi = f(i);
plot(x,y) – строит график yi = f(xi);
plot(z) – равносилен команде plot(real(zi),imag(zi));
plot(A) – строит семейство графиков, каждый из которых представляет собой зависимость элементов одного столбца матрицы A в функции порядкового номера строки;
plot(x, A) – то же, но в функции соответствующего элемента вектора x. Длина вектора x должна быть равна числу строк матрицы A.
По умолчанию графики выводятся отрезками непрерывных линий, соединяющими между собой соседние точки. Цвет присваивается автоматически согласно используемой палитры, кроме белого и черного.
Пример.
» x=0:.1:10;
» y=sin(2*x).*cos(x);
» plot(x,y)
» z=exp(1./(x+1));
» A=[y; z];
» plot(x, A)
При необходимости в качестве дополнительного аргумента функции plot следует указать символьную константу, определяющую дополн. параметры графика. Эта символьная константа может состоять из следующих символов:
y – желтый (yellow) . – точки (point) - – непрерывная (solid)
m – фиолетовый (magenta) o – окружности (circle) : – пунктирная (dotted)
c – голубой (cyan) x – крестики (x-mark) -. – штрихпункт. (dashdot)
r – красный (red) + – плюсы (plus) -- – прерывистая (dashed)
g – зеленый (green) * – звездочки (star)
b – синий (blue) s – квадраты (square)
w – белый (white) d – ромбы (diamond)
k – черный (black) v – треугольники вершиной вниз (triangle down)
^ – треугольники вершиной вверх (triangle up)
< – треугольники вершиной влево (triangle left)
> – треугольники вершиной вправо (triangle right)
p – пятиконечные контурные звезды (pentagram)
h – шестиконечные контурные звезды (hexagram)
Например, команда plot(x,A,'k+') рисует график, отмечая заданные точки черными плюсами; команда plot(x,y,'r:') рисует график красной пунктирной линией.
В одной функции plot можно использовать несколько групп аргументов. В этом случае все графики, созданные группами аргументов, изображаются в одной системе координат в одинаковом масштабе.
» x=0:0.05:1;
» plot(x,x.^2,'m--',x,1-exp(x),'b.-')
» y1=x.^3; y2=1-sqrt(exp(x));
» figure, plot(x,y1,x,y2); % Можно использовать параметры по умолчанию
» figure, plot(x,1-exp(x),x,y2,'go'); % Можно не для всех графиков
При необходимости построения графиков в логарифмическом масштабе по какой-либо оси следует использовать функции:
semilogx(x,y) – логарифмический масштаб по оси x;
semilogy(x,y) – логарифмический масштаб по оси y;
loglog(x,y) – логарифмический масштаб по обеим осям.
Формат использования этих функций такой же, как и у функции plot.
Дополнительные функции:
bar(x,y), bar(x,A) – построение столбчатых диаграмм;
» x=[1 2 3]; A=[1 2; 3 4; 5 6]; bar(x,A(:,1))
» figure, bar(x,A)
stairs(x,y) – построение ступенчатых графиков;
stem(x,y) – построение пиковых диаграмм.
» t=0:.1:2*pi; y=sin(t);
» stem(t,y);
» figure, stairs(t,y)
stem stairs
Построение графиков в полярных координатах
polar(fi,ro) – строит график в полярных координатах fi = f(ro), ro – в радианах. Параметры линии можно задавать в дополнительном аргументе, варианты значений которого такие же, как и в функции plot;
» fi=0:pi/100:6*pi;
» ro=2*fi;
» polar(fi,ro)
compass(m,n) – изображает точку как вектор, направленный из начала координат;
compass(z) – то же самое, что и compass(real(z),imag(z)).
Вспомогательные функции графики
Команды создания графического окна (ГО):
figure – создать очередное ГО;
figure(n) – создать ГО с номером n (если оно уже существует, команда игнорируется).
Команды закрытия ГО:
close – закрыть текущее ГО (как правило, последнее из открытых);
close all – закрыть все открытые ГО;
close('name') – закрывает ГО с указанным именем.
Команды управления включением отображения координатной сетки:
grid on – включить отображение; grid off – выключить;
grid – изменить состояние (чередование).
Команды управления наложением графиков:
hold on – включить режим наложения графиков в текущем ГО;
hold off – выключить; hold – изменить состояние.
Функции выведения текстовой информации в ГО:
title(строка) – вывод заголовка в верхней части окна, строка центрируется;
xlabel(строка), ylabel(строка) – подписи осей;
text(m,n,строка) – выводит текст, определяемый строкой, рядом с точкой с координатами (m;n) в системе координат, определяемой предыдущими командами создания графиков в этом ГО;
subplot(m,n,i) – разбивает ГО на части (m<=n<=4). Как правило, функция предшествует команде построения графика (plot, bar или др.), который будет выведен в указанной части (i) ГО. Допускается краткая запись subplot(mni);
clf – команда очистки текущего ГО;
axis([xmin xmax ymin ymax]) – устанавливает указанные границы ГО по указанным измерениям (в данном случае – по горизонтали и по вертикали).