Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_Мат_Ч1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.13 Mб
Скачать

Глобальные переменные

Обычно каждая 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]) – устанавливает указанные границы ГО по указанным измерениям (в данном случае – по горизонтали и по вертикали).