Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
i-719273.pdf
Скачиваний:
269
Добавлен:
26.03.2016
Размер:
5.68 Mб
Скачать

кой соотношения (2.41) в рассмотренные модели временных рядов переходим к дискретным моделям временных рядов, например, вида

x(k) a

;

x(k) a

 

a k;

x(k) a

 

a k

a

k . (3.53)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.6. Графическое представление статических моделей

Графическое представление статических моделей позволяет наглядно отразить их свойства и представить результаты их исследования. Рассмотрим основные моменты построения графиков в среде Mathcad.

Для построения плоского графика функции следует [24]:

- установить крестообразный курсор в то место, где будем строить гра-

фик;

-на математической панели щелкнуть мышью на кнопке Graph Toolbar

X-Y Plot (Плоский график);

-в появившемся на месте курсора шаблоне плоского графика ввести на оси абсцисс имя аргумента, на оси ординат — имя функции;

-щелкнуть мышью вне шаблона графика. График построен для заданного диапазона изменения аргумента.

Если диапазон значений аргумента не задан, по умолчанию график будет построен в диапазоне значений аргумента от -10 до 10.

Чтобы на одном шаблоне разместить несколько графиков, надо, набрав на оси ординат имя первой функции, нажать клавишу запятой (уголок курсора при этом обязательно должен находиться в конце имени функции). В появившемся месте ввода (черном квадратике) впишите имя второй функции и т.д.

Чтобы отформатировать график, сделайте двойной щелчок мышью в поле графика — откроется окно форматирования графика (рис. 3.29). «Погуляйте» по окну. Выбирайте различные пункты меню (щелкнув на них мышью, а затем на кнопке Применить или ОК) и посмотрите, как изменится при этом вид графика. В открывшемся окне (см. рис. 3.29) видны заголовки вкладок, в частности:

-Х-У Ахеs (Оси X – Y) – отформатировать оси координат: нанести сетку линий, проставить численные значения; ось абсцисс провести через ноль ординаты (Crossed – по центру, пересечение) или нижнему краю графика (Boxed – по краям, граница), нанести метки на графике и т.д.

Щелкните мышью на нужных пунктах подменю (отметьте их флаж-

ком).

Чтобы изменить размеры графика, необходимо:

-щелкнуть мышью в поле графика;

-подвести указатель мыши к одному из черных квадратиков на краю графика;

146

-при появлении двунаправленной стрелки нажать левую кнопку мыши и, удерживая ее, переместить край графика в нужное место.

Чтобы переместить график, нужно:

-щелкнуть мышью в поле графика;

-подвести указатель мыши к краю графика;

-при появлении черной ладошки нажать левую кнопку мыши и, удерживая ее, переместить график в нужное место.

Рис. 3.29. Окно форматирования плоского графика

Описанный способ перемещения объектов — традиционный для Windows. Однако для больших документов он не всегда удобен, например, если надо перетащить выделенную группу объектов на другую страницу. В этом случае удобнее другой способ:

-нажать левую кнопку мыши и, удерживая ее, двигать мышь, заключая

впоявляющуюся при этом пунктирную рамку объекты, которые надо переместить;

-на стандартной панели Mathcad щелкнуть мышью на кнопке Cut (Вырезать). При этом выделенная группа объектов будет удалена из документа и помещена в буфер обмена. Если нажать кнопку Сору (Копировать), выделенные объекты будут скопированы в буфер, оставаясь на своем месте;

-подвести указатель мыши к месту, где необходимо вставить вырезанные объекты, и щелкнуть левой кнопкой мыши. Появится крестообразный курсор;

147

- на стандартной панели Mathcad щелкнуть мышью на кнопке Paste (Вставить). Готово, выделенные объекты перемещены в заданное место.

Пример 3.3. Построить график функции на интервале [a, b] с шагом h, а также в общем случае, когда интервал аргумента не задан.

a 0

b 2

h 0.1

 

 

 

 

 

 

 

 

x a a h b

 

Q(x) x3

2x2

x 1

Q1(z) z3

2z2

z 1

 

 

 

3

 

 

 

 

 

 

 

1 103

 

 

 

2

 

 

 

 

 

 

 

550

 

 

 

Q(x)

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

Q1(z)

 

100

 

 

 

 

 

 

 

 

 

10

5

0

5

10

00

0.5

1

1.5

2

 

 

 

350

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

800

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

 

 

а)

б)

Рис. 3.30. Решение примера 3.3: а) интервал задан; б) интервал не задан

В системе Matlab построение двумерного графика из командной строки (панель Command Window) представлена на рис. 3.31, б, а из программы (m- fail) на рис. 3.31, а. Поскольку сессии в командном режиме работы не сохраняются в памяти компьютера, то удобнее пользоваться программами, поскольку они сохраняются в виде текстовых m-файлов.

a=0;b=2;h=0.1; x=a:h:b; Q=x.^3-2*x.^2+x+1; plot(x,Q)

grid on

а)

>>ris331

>>a=0;b=2;h=0.1;x=a:h:b;

>>Q=x.^3-2*x.^2+x+1;

>>plot(x,Q),grid on

>>

б)

Рис. 3.31 Построение графика функции одной переменной

148

Для форматирования графика можно воспользоваться панелью управления графика. Так вызов команды Insert позволяет подписать оси (XLable, YLable, надрисуночную надпись и другие сервисы). Команда Tools позволяет отобразить координаты точки на графике (Data Cursor), отметить особые точки на графике и т.п. «Погуляйте» по окну. Выберите различные пункты меню и пробуйте их применение на графике.

Для построения трехмерных графиков в Mathcad [24]:

-наберите имя функции двух переменных, знак присвоения значения :=

ивыражение функции;

-установите курсор в то место, где вы хотите построить график;

-в математической панели щелкните мышью на кнопке Graph Toolbar (Панель графиков), изображающей график, затем на Surface Plot (График поверхности). На месте курсора появится шаблон трехмерного графика;

-в единственном поле ввода шаблона графика введите имя функции;

-щелкните мышью вне области шаблона. График построен.

Кроме описанного способа ускоренного построения графика поверхности по функции двух переменных существует и часто применяется другой способ создания графика поверхности — с использованием массива численных значений функции. Для построения 3D-графика необходимо:

-с помощью дискретных переменных ввести значения обоих аргументов заданной функции;

-ввести массив, элементами которого являются значения функции, вычисленные при заданных значениях аргументов;

-установить курсор в то место, где вы хотите построить график;

-в математической панели щелкнуть мышью на кнопке, изображающей график, и выбрать трехмерный график. На месте курсора появится шаблон трехмерного графика;

-в единственном поле ввода шаблона графика ввести имя функции;

-щелкнуть мышью вне области шаблона. График построен.

Построим трехмерные графики поверхности и графики линий равного уровня для функции Q x x x x x x x .

Поскольку функция зависит от трех переменных n , а график строится для n , то переменную x (это лучший вариант, т.к. x ). Результаты построения представлены на рис. 3.32.

149

Пос троение графика поверхнос ти ус коренным путем (заданием функции)

Q(x1 x2 x3) x12 x22 x32 4 x1 8 x2 12 x3 100 x3 6

Q1(x1 x2) Q(x1 x2 x3)

Q1

Q1

Пос троение графика поверхнос ти путем с оздания мас с ива данных0 дляx1 4

2 x2 6

 

4 x3 8

 

n 40

k 20

 

i 0 n j 0 k

x1i a1

 

b1 a1

i

x2j a2

 

 

n

 

 

 

 

 

 

 

 

 

M

i j

Q

x1 x2 x3

 

 

 

 

 

i

j

 

 

 

 

a1

0

 

b1 4

a2 2

b2 8

a3 4

b3 8

b2

a2

j

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

M M

Рис. 3.32. Построение трехмерного графика для n=3

150

Пос троение графика поверхнос ти путем с оздания мас с ива данных0 дляx1 4

2 x2 6

 

4 x3 8

 

n 40

k 40

 

i 0 n j 0 k

x1i a1

 

b1 a1

i

x2j a2

 

 

n

 

 

 

 

 

 

 

 

 

M

i j

Q

x1 x2 x3

 

 

 

 

 

i

j

 

 

 

 

a1

0

 

b1 4

a2 2

b2 6

a3 4

b3 8

b2

a2

j

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

M M

Рис. 3.32. Окончание

Дополнительные возможности работы с графиком:

-сделайте двойной щелчок мышью в поле графика – появится окно форматирования графика (рис. 3.33);

-для вращения графика поместите курсор в область графика и двигайте курсор при нажатой левой кнопке мыши;

-для масштабирования графика действия те же, но при нажатой клавише Ctrl;

-для анимации графика действия те же, но при нажатой клавише Shift. Для остановки вращения щелкните левой кнопкой мыши внутри поля графика.

151

Рис. 3.33. Панель формирования 3D-графика

В Matlab также можно построить 3D-график в командном окне или подготовить программу (m-файл). Результаты потроения через m-файл представлены на рис. 3.34. Первый оператор задает разметку сетки будущей поверхности в интервале x1=[0, 4] и x2=[2, 6] с шагом 0.1. Второй и третий оператор задают выражение для вычисления значений Q и q1 в узлах сетки при x3=6. Четвертый оператор строит сетчатый график поверхности Q. Вызывая меню можно мышью поворачивать график, увеличивать (уменьшать) определенные участки графика, наносить стрелки, надписи осей, участков поверхности и т.д. «Погуляйте» по меню.

Оператор figure создает новое графическое окно, которому система присваивает значения свойств по умолчанию.

Шестой оператор возращает дескрипторы – матрицу С и векторстолбец h для построения контурных линий.

Седьмой оператор обеспечивает маркировку (оцифровку) контурных линий функции Q.

Восьмой оператор (hold on) – обеспечивет наложение двух и более графиков в текущее окно.

Девятый оператор строит контурные линии функции q1. Десятый оператор обеспечивает маркировку функции q1. Одиннадцатый оператор наносит сетку.

152

[x1 x2]=meshgrid(0:0.1:4,2:0.1:6);

x3=6; Q=x1.^2+x2.^2+x3.^2-4*x1-8*x2-12*x3+100; q1=x1+x2-4;

meshc(x1,x2,Q)

figure;

[C,h]=contour(x1,x2,Q);

clabel(C,h) hold on

[L,h]=contour(x1,x2,q1);

clabel(L,h) grid on

Рис. 3.34. Построение трехмерного графика и функционального ограничения

153

Рис. 3.34. Окончание

Рассмотрим более сложные графики (рис. 3.35).

154

Q(x1 x2) 10 x2 x12 2

(1 x1)2 - функция Розенброка

n 50 m 50

j 0 m

Mi j Q x1ix2j

a1 0

b1 2

a2 0

b2 2

h1

b1 a1

h2

b2 a2

i 0 n

n

m

x1i a1

h1 i

 

 

 

 

 

x2 a2 h2 j

 

 

 

 

 

 

j

 

 

 

 

 

 

M M

Рис. 3.35. Сложные поверхности

155

M

 

 

 

 

 

 

 

M

 

 

 

 

 

 

 

Q1(x1 x2)

 

2

 

2 3

 

0.6

(x1 x2)

 

 

 

2

2 2

- изогнутый гребень

 

0.3 x1

0.7 x2

exp 1

 

0.3 x1

0.7x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1i 3 0.08 i

x2j

3 0.08 j

 

 

M1i j

Q1 x1ix2j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M1

 

 

 

 

 

M1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Многоэкс тремальная функция

 

 

 

 

 

 

 

 

 

n1 100

i 0 n1

j 0 n1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q2(x1 x2) (0.3 0.4 x1 0.3 x2)

4

(0.8

0.6 x1

0.8 x2)

4

 

(0.3 0.4 x1 0.3 x2)

4

 

 

 

exp 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0.8 0.5 x1 0.8 x2)4

 

 

 

x1i 5 0.1 i

x2j 5 0.1 j

 

 

 

 

 

 

 

Zi j Q2 x1ix2j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z Z

Рис. 3.35. Окончание

156

Анализ поверхностей целевой функции (рис. 3.35) отражает сложность и противоречивость задания шага h табуляции функции по каждой переменной и границ a,b для построения графиков. При неудачном их выборе «исчезают» локальные экстремумы. Поэтому желательно подбирать значения h и a,b так, чтобы «картинки» отражали вид поверхности в интервале изменения переменных х.

В системе Matlab эти графики представлены соответственно на рис. 3.36, рис 3.37, рис. 3.38.

[x1 x2]=meshgrid(-2:0.1:3,-2:0.1:7); Q=10*(x2-x1.^2).^2+(1-x1).^2; mesh(x1,x2,Q)

figure;

V=1:10;

[C,h]=contour(x1,x2,Q,V); grid on

Рис. 3.36. Построение сложной поверхности

157

Рис. 3.36. Окончание

[x1 x2]=meshgrid(-3:0.08:1,-3:0.08:1); Q=(0.3*x1.^2+0.7*x2.^2).^3.*exp(1-0.6*(x1-x2)-(0.3*x1.^2+0.7*x2.^2).^2); mesh(x1,x2,Q)

figure;

V=0:0.1:30;

[C,h]=contour(x1,x2,Q,V); grid on

Рис. 3.37. Сложные поверхности

158

Рис. 3.37. Окончание

159

clc;clear all;

[x1 x2]=meshgrid(-5:0.1:5,-5:0.1:5); Q=((0.3+0.4*x1+0.3*x2).^4).*((0.8-0.6*x1+0.8*x2).^4).*exp(2- (0.3+0.4*x1+0.3*x2).^4-(0.8-0.5*x1+0.8*x2).^4); mesh(x1,x2,Q)

% surf(x1,x2,Q) V=0:0.1:3; figure;

[C,h]=contour(x1,x2,Q,V); grid on

Рис. 3.38. Многоэкстремальная функция

160

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]