Главная страница

Тема-3-5. Основы работы с математическими пакетами (MathCad)


Скачать 3.25 Mb.
НазваниеОсновы работы с математическими пакетами (MathCad)
Дата28.09.2022
Размер3.25 Mb.
Формат файлаpdf
Имя файлаТема-3-5.pdf
ТипДокументы
#702801
страница9 из 17
1   ...   5   6   7   8   9   10   11   12   ...   17
Тема 3.5. Основы работы с математическими пакетами
Страница 328
Рис. 3.5.3-12. Пример графика Sin(x), Sin(2x) и Sin(3x)
Таблица 3.5.3-8
S
Цвет
S
Маркер
y
желтый
.
точка
m
фиолетовыйo
кружок
:
c
голубой
x
x-метка
r
красный
+
плюс
g
зеленый
*
звездочка
b
синий
s
квадрат
w
белый
d
алмаз
k
черный
v
Треугольник(вниз)
ˆ
треугольник (вверх)
-
сплошная
<
треугольник (влево)
точечная
>
треугольник (вправо)
-.
Штрих - пунктирная
p
шестиугольник
-
пунктирная
h
восьмиугольник
По умолчанию масштаб осей выбирается автоматически, таким образом, чтобы график целиком поместился в окне, причем с разумным запасом. Кроме того, оси автоматически размечаются, и по умолчанию выбирается, декартова система координат.
Причем началом координат считается точка с координатами xmin, ymin, расположенная в левом нижнем углу. Эта автоматическая установка может быть изменена с помощью команды axis. Примеры использования этой команды применительно к плоским графикам описаны в табл. 3.5.3-9.
При необходимости вывести в одном графическом окне несколько графиков, то есть разбить графическое окно на несколько областей - подобластей, в каждой из которых отображаются свои оси, используется команда subplot(m,n,p). Значение m указывает, на сколько областей окно разбивается по вертикали, n – по горизонтали, а p -порядковый номер подокна при счете слева направо и сверху вниз. Команда subplot используется как для создания нового подокна, так и для перехода от одного подокна к другому. После вызова этой команды plot построит график или графики в соответствующем подокне. Например,
последовательность команд Примера 3.5.4-57 строит два рисунка в верхней и нижней части экрана. В верхней части строится график sin(x), а в нижней части экрана - зависимость
log(abs(sin(x))). Как видно из приведенной выше последовательности команд, при x=0

Тема 3.5. Основы работы с математическими пакетами
Страница 329
вычисляется log(0). При этом в командном окне появляется предупреждение, а график строится в точках −1 ≤ x ≤ 0.1 и 0.1 ≤ x ≤ 1.
Таблица 3.5.3-9
Обращение
Результат
axis([xmin xmax ymin ymax]) Устанавливает пределы изменения по x и y
координатам соответственно.
Если максимальный предел по любой координате установить равным Inf, то соответствующий предел будет определяться автоматически.
Аналогичное справедливо для нижнего предела,
если его установить равным - Inf.
axis(’square’)
Делает область вывода квадратной.
axis(’equal’)
Делает единицы измерения по оси x и y
одинаковыми.
axis(’normal’)
Восстанавливает режим по умолчанию.
axis(’ij’)
Помещает начало координат в левый верхний угол. Направление оси x - слева направо,
направление оси y - сверху вниз.
axis(’xy’)
Восстанавливает стандартную декартову систему координат с началом в левом нижнем углу и направлением оси y снизу вверх.
axis(’tight’)
Устанавливает пределы по осям точно равными максимальным и минимальным значениям соответствующих переменных.
axis(’off’)
Делает невидимыми оси, метки осей и надписи
axis(’on’)
Включает оси и их разметку.
Пример 3.5.3-57
>> x= -1:.1:1;
>> y1=sin(x);
>> subplot(2, 1, 1), plot(x, y1);
>> y2=log(abs(y1));
>> subplot(2, 1, 2), plot(x,y2);
>>
Рис. 3.5.3-13. Две подобласти в одном графическом окне

Тема 3.5. Основы работы с математическими пакетами
Страница 330
Полярными координатами (ρ,θ) точки P (рис. 3.5.3-14) называются длина ρ радиус - вектора, проведенного из начала координат в точку P, и угол θ, образованный между осью х
и этим вектором. Угол отсчитывается от положительного направления оси х к радиус- вектору против часовой стрелки.
Довольно многие математические кривые с целью устранения неоднозначности принято задавать в полярной системе координат.
Для построения графиков функций, заданных в полярной системе координат, вместо функции plot используется функция polar:
Пример 3.5.3-58
>> phi=0:0.1:2*pi;
>> ro=5*(i+cos(phi));
>> polar(phi,ro);
>> title {'Кардиоида');
Результат построения кардиоиды для а=5 приведен на рис. 3.5.3-14.
2 4
6 8
10 30 210 60 240 90 270 120 300 150 330 180 0
{'Кардиоида')
Рис. 3.5.3-14. График кардиоиды в полярной системе координат
Единицы измерения значений ординат и абсцисс далеко не всегда соответствуют друг другу, и для создания более обозримого графика вдоль одной или обеих координатных осей приходится выбирать логарифмический масштаб. Для построения таких графиков используются функции loglog (логарифмический масштаб по обеим осям), semilogx
(логарифмический масштаб по оси x),
s
emilogy (логарифмический масштаб по оси у).
Пример 3.5.3-59
>> x=0:10:100;
>> y=exp(x);
>> semilogy(x,y)
Результат построения графика в логарифмическом масштабе приведен на рис. 3.5.3-15.

Тема 3.5. Основы работы с математическими пакетами
Страница 331 0
10 20 30 40 50 60 70 80 90 100 10 0
10 10 10 20 10 30 10 40 10 50
Рис. 3.5.3-15. График с логарифмическим масштабом по оси у
Довольно интересной модификацией функции plot является функция fplot,
которая строит график функции y=f(x) без предварительного вычисления векторов
(x1,x2,…) и (y1,y2,...). Базовый формат вызова этой функции включает два аргумента:
fplot (@name_fun, [limits])
fplot (' name_fun', [limits])
В первом случае первым аргументом является указатель на функцию с именем
name_fun, во втором случае - строка с именем обрабатываемой функции. Аргумент limits
может быть представлен либо двухкомпонентным вектором [xmin хmах], либо четырехкомпонентным вектором
[xmin xmax ymin ymax]. Укороченный вариант задает пределы изменения аргумента х, расширенный - дополнительно представляет пределы изменения функции. Например:
fplot(@sin, [0 2*pi])
fplot('sin', [0 2*pi])
По сравнению с plot функция fplot берет на себя вычисление таблицы значения функции, проявляя при этом некоторый интеллект - в местах резкого изменения функции значения аргумента х выбираются с более мелким шагом. Функция fplot гарантирует, что относительное уклонение воспроизводимой функции отличается от ее идеального графика не более чем на 0,2%. Если вам нужен более точный или более грубый график, то после двух обязательных аргументов в функции fplot можно задать желаемую относительную погрешность - число, меньшее 1:
fplot(@sin, [0 2*pi], 0.05)
В этом случае гарантировано построение графика, отличающегося от идеальной кривой не более чем на 5%. По умолчанию точность равна 210
−3
, и она определяет, на сколько точек делить интервал, чтобы погрешность от линейной интерполяции не превосходила этой заданной точности.
Еще один дополнительный параметр — целое натуральное число n требует, чтобы функция fplot использовала при построении не менее чем n+1 точку. Относительная погрешность и количество точек могут задаваться в любом порядке:

Тема 3.5. Основы работы с математическими пакетами
Страница 332
fplot(@sin, [0 2*pi], 0.05, 20)
fpiot(@sin, [0 2*pi], 20, 0.05)
Наконец, как и в функции plot, среди дополнительных параметров могут находиться строки, управляющие цветом и маркировкой графика. Последовательность задания всех дополнительных параметров – произвольная. Результат выполнения следующего оператора приведен на рис. 3.5.3-16.
Пример 3.5.3-60
>> fplot(@sin, [0 2*pi], 0.05,
's--')
>>
0 1
2 3
4 5
6
-1
-0.8
-0.6
-0.4
-0.2 0
0.2 0.4 0.6 0.8 1
Рис. 3.5.3-16. Синусоида, построенная c помощью функции fplot
Функция fplot умеет возвращать значения компонентов векторов х и у, если к ней обратиться следующим образом:
[х у] = fplot(@sin, [0 2*pi]);
В этом случае кривая не рисуется, а соответствующие координаты заносятся в массивы x и y
соответственно.
Функция f, указываемая в качестве первого аргумента fplot, кроме независимой переменной х может содержать дополнительные параметры, например, y=f(x,a1,a2). Тогда эти параметры указываются среди дополнительных аргументов после задания относительной погрешности и минимального числа точек:
fplot('nanie_fun’, [xl х2], 0.05, 20, al, a2)
Рассмотрим пример 3.5.3-61, результат которого отображен на рис. 3.5.3-17.
Пример 3.5.3-61
>>
subplot (1, 2,1);
>> fplot('[tan(x),sin(x),cos(x)]',2*pi*[-l 1 -1 1]);
>> subplot (2, 2,2);
>> fplot('sin(l / x)', [0.01 0.1);
>>

Тема 3.5. Основы работы с математическими пакетами
Страница 333
-5 0
5
-6
-4
-2 0
2 4
6 0.02 0.04 0.06 0.08 0.1
-1
-0.8
-0.6
-0.4
-0.2 0
0.2 0.4 0.6 0.8 1
Рис. 3.5.3-17. Примеры работы функции fplot
Функция fplot() предоставляет альтернативную возможность изображения функций по сравнению с вычислением вектора y по x и последующим изображением этой кривой с помощью функции plot(). Эта функция бывает особенно полезной, когда кривая имеет несколько разных скоростей изменения и заранее не ясно, в скольких и каких точках необходимо вычислять и выводить кривую. Этой функции необходимо передавать строку,
описывающую требуемую функцию в виде f(x). Строка, описывающая f(x), может содержать любые допустимые в MatLab операции и/или функции. Функция f(x) должна возвращать вектор той же размерности, что и x, или матрицу, каждый столбец которой имеет столько же элементов, сколько и x.
Например, для того чтобы нарисовать кривую y = sin(x)•cos(2x) в диапазоне x от 0
до , необходимо вызвать функцию fplot (’sin(x) .*cos(2x)’, [0 5*pi]).
График с двумя осями ординат (одна ось отображается слева, другая ось справа)
реализуется функцией plotyy(x1,y1,x2,y2) и той же функцией с добавлением параметров масштабирования 'f1' или 'f1','f2', в роли которых могут выступать plot, semilogx,
semilogx, loglog (рис. 3.5.3-18).
Пример 3.5.3-62
>>
x=0:0.01:12*pi;
>> plotyy(x,sin(x).*exp(-0.1.*x),x, 10*exp(-0.1.*x)) %

Тема 3.5. Основы работы с математическими пакетами
Страница 334 0
5 10 15 20 25 30 35 40
-1 0
1 0
5 10 15 20 25 30 35 40 0
5 10
Рис. 3.5.3-18. Графическое окно с двумя осями координат
Для размещения различных надписей на полученном рисунке применяют функции
xlabel, ylabel, title и text. Функция xlabel предназначена для размещения горизонтальной оси, функция ylabel – названия вертикальной оси. Для размещения надписи в произвольном месте рисунка используется функция text, а общий заголовок для графика выводится функцией title. Кроме того, используя команду grid on можно нанести измерительную сетку.
Рассмотрим пример 3.5.3-62, результат которого приведен на рис. 3.5.3-19.
Пример 3.5.3-63
>> x=1.5 : 0.1 : 2.5;
>> y=sin(x);
>> title (‘График sin(x)’);
>> xlabel(‘ось х’);
>> ylabel(‘sin(x)’);
>> text(2.1,0.9,f(x)=sin(x)’);
>>grid on
>>plot(x, y)
>>
1.5 1.6 1.7 1.8 1.9 2
2.1 2.2 2.3 2.4 2.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1
График sin(x)
ось х
s
in
(x
)
f(x)=sin(x)
Рис. 3.5.3-19

Тема 3.5. Основы работы с математическими пакетами
Страница 335
В системе MatLab существует функция, которая создает ступенчатое изображение ваших данных. Например, вместо соединения каждой пары точек из векторов аргументов прямыми линиями (как это делает функция plot() или line()) функция stairs() изображает ваши данные в виде горизонтальных отрезков на уровне yi, причем каждый отрезок горизонтальной линии длится от i до i + 1, если обращение имеет вид stairs(y), и от xi до
xi+1, если обращение имеет вид stairs(x,y). Значения xi не должны быть равноотстоящими и не должны быть упорядочены по возрастанию. Вывод графика на экран можно предотвратить, используя обращение вида [xs,ys]=stairs(x,y). Потом этот график может быть выведен на экран с помощью команды plot(), line() или другим каким-нибудь способом.
3.5.3.2.2. Инструментальная панель графических окон
В предыдущих разделах для отображения, оформления и исследования графиков функций использовались специальные команды системы MatLab, которые вводились с клавиатуры в командном окне. Однако большую часть выполненных действий можно сделать также с помощью команд инструментальной панели графических окон.
На рисунке 3.5.3-20 показаны базовые компоненты типичного графического окна.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Рис. 3.5.3-20. Компоненты графического окна
Команды основного меню графического окна представляют большой набор средств для отображения и оформления графиков, позволяющих в интерактивном режиме и без использования команд, придать графику желаемый вид, а также снабдить его аннотациями и дополнительными элементами. Что касается кнопок инструментальной панели, то они дублируют наиболее используемые пункты меню, ускоряя к ним доступ.
В полной мере научиться быстро и эффективно пользоваться инструментальными средствами графических окон системы MatLab можно только на практике. В этом разделе остановимся лишь на некоторых возможностях построения и управления графиками с помощью инструментальных средств.
Из приводившихся выше примеров видно, что графики функций отображаются в специальном окне, снабженном меню и панелью инструментов. Это окно соответствует всем стандартам Windows - его можно перемещать по экрану, изменять размеры, сворачивать и разворачивать, удалять. В соответствии с объектно-ориентированной терминологией
MatLab, оно представляет объект типа Figure (графическое окно).
Меню, встроенное в графическое окно, позволяет:
∂ обратиться к довольно мощному редактору свойств графических объектов;
∂ сохранить графическое окно в файле с расширением MatLab;
∂ перейти в среду MatLab и выполнить любые действия в командном окне.
На рис. 3.5.3-21 приведены команды наиболее важных элементов меню графического окна.

Тема 3.5. Основы работы с математическими пакетами
Страница 336
Рис. 3.5.3-21. Команды элементов меню графического окна
Первая группа команд элемента меню File (Файл) позволяет закрыть графическое окно (Close (Закрыть)), вызвать в него ранее сохраненный графический файл (Open
(Открыть)) или начать вручную создавать новый график, используя при этом возможности
Property Editor (Редактор свойств) графического объекта (New Figure (Новый графический объект)).
Команды второй группы позволяют сохранить графическое окно под прежним (Save
(Сохранить)) или новым (Save As (Сохранить как)) именем, а также экспортировать его в нужном вам графическом формате (Export Setup (Параметры экспорта)).
Очень интересен результат выполнения команды Generate M-File (Генерировать m-
файл). Она позволяет автоматически создать функцию построения графиков, располо- женных в графическом окне. Отметим, что к такого рода процедуре следует прибегать только в том случае, когда пользователь провел вручную достаточно большую редакторскую правку.
Команды
Import Data (Импортировать данные) и
Save Workspace As
(Сохранить рабочее пространство как) уже упоминались при описании главного меню.
Команда Preferences (Предпочтения) выводит нас в окно установок параметров системы MatLab. Аналогичная возможность входит в состав меню File (Файл) командного окна.
Команда Export Setup (Параметры экспорта) вызывает диалоговое окно, в котором можно просмотреть и изменить значения текущих параметров графического окна и графика
— размеры (Size), способ визуализации (Rendering), характеристики шрифта (Font) и свойства линий (Lines). После этого откорректированный график можно сохранить в файле с расширением fig.
Оставшиеся команды последней группы меню File (Файл) связаны с подго- товительными работами по настройке параметров графика, листа бумаги и принтера перед выдачей окончательной команды вывода (Print (Печать)).
Элемент меню Edit (Правка) - включает набор стандартных команд,
присутствующих в любом текстовом или графическом редакторе — Undo (Отменить ввод),

Тема 3.5. Основы работы с математическими пакетами
Страница 337
Cut (Вырезать), Сору (Копировать), Paste (Вставить), Clear (Очистить) и Select All
(Выделить все).
Команда Figure Properties (Свойства графического объекта) вызывает Property
Editor (Редактор свойств), который пристыковывается к графическому окну) и предварительно настроен на изменение свойств фигуры (Figure). В появившихся окнах редактора отображаются наиболее употребительные параметры фигуры. Вы можете изменить заголовок графического объекта (Figure Name), сменить цветовую палитру
(CoJormap); указать цвет окаймления поля графика (Figure Color), включить или отклю- чить воспроизведение порядкового номера графического окна (Show Figure Number). С
помощью кнопки Inspector (Инспектор) вызывается Property Inspector (Инспектор свойств), в котором отображаются все свойства фигуры. Любое из них, не включенное в наиболее употребительный набор, тоже может быть изменено.
Если в графическом окне выделить оси, щелкнув по одной из них, то в окнах
Property Editor (Редактор свойств) появляются свойства осей и меняется заголовок
(Property EditorAxes). Вы можете изменить заголовок, расположенный над полем графика (Title), установить цвета осей, подписей и фона поля графика (Colors), включить или отключить изображение координатной сетки по любой из осей (Grid), включить или отключить обводку рамки поля графика (Box). Для каждой из координатных осей можно изменить наименование оси (X Label, Y Label, Z Label), минимальный и максимальный пределы изменения соответствующей переменной (X Limits, Y Limits, Z Limits), способ масштабирования по каждой из осей (X Scale, Y Scale, Z Scale), сменить направление оси на противоположное (Reverse). Кнопка Inspector (Инспектор) в окне Property Editor (Редактор свойств) вызывает инспектор, отображающий значения всех свойств координатных осей.
Выделение той или иной кривой приводит к перенастройке редактора свойств на параметры указанного графика (Property Editor — Line-series). Раскрывающиеся списки
X/Y/Z Label Data Source (Источник данных) позволяют изменить значения векторов х, у и
z, задающих табличную функцию. После изменения любого из этих элементов необходимо нажать кнопку Refresh Data (Обновить данные), и тогда новые значения вступят в силу.
В раскрывающемся списке Plot Type (Тип графика) вы можете выбрать один из пяти способов отображения графика функции. По умолчанию график воспроизводится линией
(Line, отсюда и фрагмент заголовка окна — Lineseries). Четыре других способа воспроизведены на рис. 3.5.3-21. В раскрывающемся списке Line (Линия) задается тип линии (сплошная, штриховая, пунктирная или штрих-пунктирная). Значение no line (нет) за- меняет линию графика маркерами в заданных точках. Цвет линии и ее толщина,
регулируются значениями, установленными при помощи кнопок-списков, выделяемых подсказками Color (Цвет) и LineWidth (Толщина линии) соответственно. В списке Marker
можно выбрать подходящую конфигурацию маркера, размер которого задается значением в раскрывающемся списке MarkerSize. Цвета контура маркера и его внутренней области уста- навливаются с помощью кнопок-списков
MarkerEdgeColor и MarkerFace-Color
соответственно.
Команды Axes Properties (Свойства осей) и Current Object Properties (Свойства объекта) вызывают Property Editor (Редактор свойств) с одновременной настройкой на параметры соответствующего объекта.
Команды последней группы обеспечивают очистку поля фигуры, командного окна,
окна истории команд и рабочего пространства. По умолчанию очистка трех последних компонентов сопровождается запросом подтверждения на выполнение операции.
Кроме кнопок 1, 2, 3, 4 панели инструментов (рис. 3.5.3-20), обеспечивающих создание, открытие, сохранение и печать графического объекта, на панели инструментов находятся следующие кнопки (рис. 3.5.3-20):
5 Edit Plot — включение режима выделения графического объекта;
6 Zoom In — увеличение масштаба изображения;

1   ...   5   6   7   8   9   10   11   12   ...   17


написать администратору сайта