Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Пример 2. Построить в одном окне графики двух функций x(t ) 2sin(50 t ) и y(t ) e2t cos(10 t) ,
где аргумент меняется в интервале [0; 2] с шагом 0, 01 .
t = [0 : 0.01: 2];
y = exp(-2* t).*cos(10* t);
>> x = 2*sin(50* t);
plot(t, x, t, y)
1.5
0.5
-0.5
-1
-1.5
-2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1
Обсудим построенные графики.
1. Команда plot(t,x) позволяет строить в декартовой системе координат график одномерной
функции x с аргументом t . При этом в скобках на первом месте стоит аргумент, а на втором –
функция.
2. MATLAB (если это не указано специально) самостоятельно выбирает цвет графика, масштаб и
оцифровывает оси абсцисс и ординат.
3. Для функции x(t ) 2sin(50 t ) шаг изменения аргумента оказался не достаточно малым, и
поэтому на еѐ графике отчѐтливо видны изломы. Неверный выбор шага изменения аргумента
функции может существенно исказить еѐ график. Если пользователь затрудняется выбрать
подходящий шаг дискретизации аргумента, то при выводе графика функции можно воспользоваться
командой fplot(…), и MATLAB подберѐт шаг самостоятельно.
Если график функции требуется снабдить заранее заданными отличительными признаками,
например, цветом, определѐнным типом линии, расположить на этой линии специальные символы
(маркеры), то также применяется команда plot(…), но более сложной конструкции.
Пример 3. Начертить график функции y(t ) e2t cos(10 t ) в виде штриховой линии красного цвета,
и помеченной маркером типа «кружок». Аргумент t меняется в интервале [0;1] с шагом 0, 03 .
t = [0 : 0.03 :1];
y = exp(-2* t).*cos(10* t);
plot(t, y, 'ro - -')
1
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
При составлении легенды следует учитывать, что порядок следования и количество аргументов
команды legend(…), заключѐнные в апострофы, должны быть согласованы с конкретными линиями
графика. В данном примере команда legend(‘10мая’,’11мая’) и команда plot(t,y1,’-m’,t,y2,’-ok’)
согласованы как по порядку следования функций (y1 и y2) так и по их количеству. Часто бывает
удобным снабдить график надписью. Для этого необходимо использовать команду gtext(‘…’), где
между апострофами располагают необходимую надпись.
Для оформления графиков также можно использовать меню графического окна. В меню Edit
выбрать строку Figure Properties… . В графическом окне (ниже графика) появится окно Property
Editor – Figure, содержащее настройки оформления рисунка (окна графика). Кликните дважды
3
левой кнопкой мыши по линии графика, появится окно Property Editor – Lineseries, содержащее
настройки линии графика: цвет, толщину, стиль линии, стиль, цвет и размер маркеров и т.д. Двойной
клик левой кнопкой мыши в поле графика вызывает окно настроек осей Property Editor – Axes,
содержащее настройки осей: оцифровку, цвет, размер и тип шрифта подписи и т.д.
3. Сохранение графиков
Построенный график можно сохранить в среде MATLAB и экспортировать (перенести) его в любое
другое приложение Windows.
Рассмотрим, как сохранить графический файл в среде MATLAB.
Для сохранения графика в среде MATLAB следует:
1) в меню File графического окна выбрать строку Save As…;
2) в появившемся окне указать, в какой папке, под каким именем и с каким расширением (тип
сохраняемого файла) пользователь желает сохранить файл;
При сохранении рекомендуется использовать расширения [*.tif] или [*.bmp].
4
5. 3D-графика
Под 3D-графикой будем понимать построение графической зависимости функции двух переменных
z ( x, y) . График такой функции представляет собой изображение некоторой поверхности в
трѐхмерном пространстве. Для графической визуализации функции двух переменных следует:
1) сформировать матрицу [ x; y] с координатами узлов сетки на прямоугольной области
определения функции. Матрица с координатами узлов сетки генерируется с помощью
команды meshgrid(x,y). Аргументами x и y являются векторы, элементы которых задают
координаты узлов прямоугольной сетки. Если область определения функции – квадрат, то в
meshgrid(…) можно задать интервал и шаг изменения лишь одного из аргументов функции;
2) вычислить значения функции в узлах сетки;
3) использовать для вывода графика одну из графических команд MATLAB;
4) используя команды оформления графика, нанести дополнительную информацию.
Для построения линейчатых поверхностей используется команда plot3(…).
Пример 5. Построить график функции z ( x, y) x y3 , где переменные x и y изменяются на
интервале [8;8] с шагом 0,5 . Для построения графика использовать непрерывные линии чѐрного
цвета.
[x, y] = meshgrid(-8 : 0.5 : 8);
>> z = x + y. ^ 3;
>> plot3(x, y, z, 'k')
5
Как видно из условия задачи, область определения функции z представляет собой квадрат. Поэтому
в команде meshgrid(…) указаны пределы и шаг изменения только одного из аргументов функции. В
команде plot3(…) присутствует дополнительный параметр, заключѐнный в апострофы и
определяющий цвет линий на графике. Следует отметить, что правила применения команды
plot3(…) аналогичны правилам применения команды plot (…) в 2D-графике.
Для построения так называемой каркасной поверхности, которая ограничивает поверхность
геометрического тела и похожа на проволочный каркас, в MATLAB используются команды mesh(…)
и surf(…), имеющие одинаковые опции (входные параметры).
Пример 6. С помощью команды mesh(…) построить каркасную поверхность, заданную функцией
z sin( x) ( x2 y 2 0,3) , где переменные x и y изменяются на интервале [3;3] с шагом 0,1 .
[x, y] = meshgrid(-3 : 0.1: 3);
>> z = sin(x). / (x. ^ 2 + y. ^ 2 + 0.3);
>> mesh(x, y, z)
На экране монитора можно видеть, что цвет линий каркасной поверхности зависит от величины
значений функции z .
Отличие команды surf(…) от mesh(…) в том, что она позволяет залить определѐнным цветом
каждую клетку поверхности.
Для более детального анализа помимо указанных графических команд в MATLAB можно также
использовать команды meshс(…), meshz(…), surfc(…), surfl(…), которые имеют такой же набор
6
аргументов. Подробнее с этими функциями можно познакомится, введя в командном окне команду
help «название команды», например, help meshc.
СОДЕРЖАНИЕ ЗАДАНИЯ
1. Построить график функции в заданных пределах изменения ее аргумента
№
Функция xn xk
вар.
1. arctg ( x ) 2 5
y
1 sin x
2
2. Построить на одном поле графики двух функций, промаркировать точки графиков, задать
типы линий, подписать оси и весь график, создать легенду, нанести координатную сетку, нанести на
график произвольный текст
№ №
Функция xn xk Функция xn xk
вар. вар.
1.
y
arctg ( x ) 2 5 2. 1 0,5 x 2 4
y
1 sin x
2
0,5 sin 2 x
7
7. surfl(X,Y,Z)
Таблица 1
№
Функция xn xk
вар.
1. arctg ( x ) 1 0,5 x 2 5
y y
1 sin 2 x 0,5 sin 2 x
2. y ln x 2 2 x 2 y e x sin x cos 3 x -3 0
3. sin 2 x e 0,1x 1 2 5
y y
xx 1 cos 2 x
4. y 2 x 3 6 x 2 18x 7 y 2 x 3 3x 2 -2 2
5. y x 1 x 2 sin x y ln x 2 4 x 5 1 5
y x 2 2 x ln x
6. 1 4
y e x sin 3x 3 cos 3x
3 2
x 4x
2
7. sin 3 x 3x 2 4 x 4 0 3
y y 2
x2 x x 1
8.
y
1 2 x 2 y
1 2 4
1.8 cos 3 x ln x 4 x 3 30
4
9. 1 2 -1,5 1,5
y x sin x cos x x y 3 cos 2 x cos 3 x
4
10. 1 x x 0,5 sin 2 x -2 0
y y
1 x x2 0,5
11.
y
sin 2 x 0,5
2x
y ctg 3 1 x 2 1 4
8
3. x если x 20 4. x
если x 20
1 2
y если 1 x 20
x y x если 1 x 20
x 2 2 в остальных случаях cos( x ) в остальных случаях
5. 1 6.
x если x 10 x 1 если 0 x 3
y 3 x если 1 x 8 y 3 x 2 2 если x 5
x 1
в остальных случаях в остальных случаях
5 x
7. 8.
x если x 2 sin( x ) если x 3
y x | если 10 x 3
y cos( x ) если x 0
2 x 2 в остальных случаях 2
x 2 в остальных случаях
9. 10. 3
x если x 10 x если x 8
y 3 x если 1 x 9
y 2 x 2 если x 0
x 2 в остальных случаях
x в остальных случаях
11. 3 12.
x если x 5 x 4 если x 20
1
y если 10 x 1 y lg( x) если 1 x 20
x
cos(x) в ост. случаях x в остальных случаях
13. 14.
8 x если x 5 tg ( x) если x 8
sin( x)
y если 1 x 8
y x 2 если 5 x 5
x
2
x в остальных случаях
sin( x ) в остальных случаях
9
15. 16.
1 3 x если x 0
2
ln( x ) если x 10
y x sin( x ) если 5 x 0 y 3 | cos( x ) | если x 15
2
x в остальных случаях 5 в остальных случаях
17. 3 18.
x если x 8 x 4 если x 20
y 2 x 2 если x 0
y lg( x ) если 1 x 20
x в ост. случаях
x в остальных случаях
19. 20.
x 4 если x 20 x если x 20
sin( x)
y если 2 x 20
y lg( x) если 1 x 20
1 x
x в остальных случаях x x 2 в остальных случаях
21. 22. cos( x)
tg ( x) если x 8 2 если 3 x 3
sin( x) sin( x)
y если 1 x 8 y если x 3
x x
2 3
x в остальных случаях x в остальных случаях
Таблица 3.
№ Функция Пределы изменения
x y
1 z sin( x)cos( y) от -2 до 2 от -2 до 2
2 z sin( x 2)cos( y) от -2 до 2 от -2 до 2
3 z sin(2x)cos( y) от -2 до 2 от -2 до 2
4 z sin( x)cos( y 2) от -2 до 2 от -2 до 2
5 z sin( x 2)cos(2 y) от -2 до 2 от -2 до 2
6 z sin(2x)cos(2 y) от -2 до 2 от -2 до 2
7 z 1 sin( x) x sin( y) y от -2 до 2 от -2 до 2
8 z sin( x) x cos( y) от -2 до 2 от -2 до 2
9 z sin( x) x | cos( y) | от -2 до 2 от -2 до 2
10 z sin( x) x y от -2 до 2 от -2 до 2
11 z sin( x) x | y | от -2 до 2 от -2 до 2
10
12 z sin( x) x sin( y) от -2 до 2 от -2 до 2
13 z sin( x) x | sin( y) | от -2 до 2 от -2 до 2
14 z sin( x) x 1 y от -2 до 2 от -2 до 2
15 z sin( x) x y 0.5 от -2 до 2 от -2 до 2
11