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

Графики с зонами погрешностей

Е

сли данные для построения функций определены с заметной погрешностью, то исполь-зуют графики функций типа errorbar с оценкой погрешности каждой точки путем представления в виде буквы I, высота которой соответствует заданной погрешности представления точки. Команда errorbar используется в следующем виде:

  • errorbar(X,Y,L,U) строит график значений эде-ментов вектора Y в зависимости от данных, со-держащихся в векторе Х, с указанием нижней и верхней границы значений, заданных в векторах L и U;

  • errorbar(X,Y,Е) и errorbar(Y,Е) строит графики функции Y(х) с указанием этих границ в виде [Y–E, Y+E], где Е – погрешность;

  • errorbar(. . ., LineSpec) аналогична описаным вы-ше командам, но позволяет строить линии со спецификацией ‘LineSpec’, аналогичной специ-фикации, примененной в команде plot.

Следующий пример поясняет использование команды errorbar:

>> x=-2:0.1:2;

>> y=erf(x);

>> e=rand(size(x))/10;

>> errorbar(x,y,e)

Графики в полярной системе координат

В полярной системе координат любая точка представляется как конец радиус-вектора, исходящего из начала системы координат, имеющего длину  и угол . Угол  обычно меняет-ся от 0 до 2. Для построения графика функции () в полярной системе координат использу-ются приведеные ниже команды:

  • p

    olar(THETA, RHO) строит график в полярной системе координат, предсавляющий собой поло-жение конца радиус-вектора длиной RHO и с уг-лом THETA;

  • polar(THETA, RHO, S) – аналогична предыдущей команде, но позволяет задавать стиль построения.

Пример:

>> % График функции sin(5*t) в полярной системе

% координат

>> t=0:pi/50/2*pi;

>> polar(t, sin(5*t))

Контурные графики

Контурные графики служат для представления на плоскости функции двуз переменных вида z(x, y) с помощью линий равного уровня. Ониполучаются, если трехмерная плоскость пе-ресекается рядом плоскостей, расположенных параллельно друг другу. При этом контурный график представляет собой совокупность спроецированных на плоскость (х, у) линий пересече-ния поверхности z(x, y) плоскостями.

Для построения контурных графиков используются команды contour:

  • c

    ontour(Z) строит контурный график по данным матрицы Z с автоматическим заданием диапазо-нов изменения х и у;

  • contour(X, Y, Z) строит контурный график по данным матрицы Z с указанием спецификаций для X и Y;

  • contour(Z, N) и contour(X, Y, Z, N) дает пост-роения, аналогичные ранее описанным коман-дам, с заданием N линий равного уровня (по умолчаниюN=10).

Пример:

>> % Построение контурного графика объекта peaks

>> z=peaks(27);

>> contour(z,15)

Создание массивов данных для трехмерной графики

Трехмерные поверхности обычно описываются функцией двух переменных z(x, y). Спе-цифика построения трехмерных графиков требует не просто задания рядя значений х и у, то есть векторов X и Y. Она требует определения для X и Y двухмерных массивов-матриц. Для создания таких массивов служит функция meshgrid. В основном она используется совместно с функциями построения графиков трехмерных поверхностей. Функция meshgrid записывается в следующих формах:

  • [X, Y]=meshgrid(x, y) преобразует область, заданную векторами х и у, в массивы X и Y, ко-торые могут быть использованы для вычисления функции двух переменных и построения трехмерных графиков. Строки выходного массива Х являются копиями вектора х, а столбцы Y – копиями вектора у;

  • [X, Y]=meshgrid(x) – аналогична [X, Y]=meshgrid(x, х);

  • [X, Y, Z]=meshgrid(x, y, z) возвращает трехмерные массивы, используемые для вычисле-ния функций трех переменных и построения трехмерных графиков.

Пример:

>> [x,y]=meshgrid(1:4, 13:17)

x =

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

y =

13 13 13 13

14 14 14 14

15 15 15 15

16 16 16 16

17 17 17 17

Приведем еще пример применения функции meshgrid:

>> [x,y]=meshgrid(-3:1:3, -3:1:3)

x =

-3 -2 -1 0 1 2 3

-3 -2 -1 0 1 2 3

-3 -2 -1 0 1 2 3

-3 -2 -1 0 1 2 3

-3 -2 -1 0 1 2 3

-3 -2 -1 0 1 2 3

-3 -2 -1 0 1 2 3

y =

-3 -3 -3 -3 -3 -3 -3

-2 -2 -2 -2 -2 -2 -2

-1 -1 -1 -1 -1 -1 -1

0 0 0 0 0 0 0

1 1 1 1 1 1 1

2 2 2 2 2 2 2

3 3 3 3 3 3 3

Такой вызов функции позволяет задать опорную плоскость для построения трехмерной поверхности при изменении х и у от -3 до 3 с шагом 1.

л а б о р а т о р н а я р а б о т а № 11

  1. Введите вектор N, состоящий из 8 элементов.

  2. Постройте лестничный график по данным вектора N.

  3. Задайте координаты переходов от ступеньке к ступеньке с помощью вектора D.

  4. Получите график.

  5. Измените стиль линии.

  6. По данным векторов N и D получите график с зонами погрешностей.

  7. Укажите произвольную зону погрешности Е.

  8. Задайте вектора для получения нижней и верхней границ погрешностей.

  9. Постройте график с нижней и верхней зонами погрешностей.

  10. Измените спецификацию линии.

  11. Для получения графика в полярной системе координат задайте угол t от 00 до 3600 с шагом 300.

  12. В качестве радиус-вектора используйте функция cos(10*t)

  13. Постройте график в полярной системе координат.

  14. Измените стиль построения.

  15. Задайте матрицу L размером 8х8, состоящую из произвольных элементов.

  16. Получите контурный график по данным матрицы L.

  17. Получите контурный график также для матрицы L, задав 20 линий равного уровня.

  18. Создайте вектор Х состоящий из произвольных 8 элементов.

  19. Создайте вектор Y такого же размера, что и Х.

  20. Преобразуйте область, заданную векторами Х и Y в массивы для построения трехмерных графиков.

Л е к ц и я № 23, 24

Графика MATLAВ. Трехмерные графики

Построение графиков трехмерных поверхностей

Команда plot3(. . .) аналогична команде plot(. . .), но относится к функции трех перемен-ных. Она представлена следующими формами:

  • p

    lot3(x, y, z) строит массив ячеек, представленных векторами x, y и z, соединяя их отрезками прямых.

Пример:>> % Построение графика 3D- поверхности

>>%линиями >> [X, Y]=meshgrid([-3:0.15:3]);

>> Z=X.^2+Y.^2;

>> plot3(X, Y, Z)

  • plot3(x, y, z, s) обеспечивает построения, анало-гичные рассмотреным выше, но со спецификацией команды plot. Ниже дан пример применения этой команды для построения трехмерной поверхности кружками:

>> % Построение 3D- поверхности кружками

>> [X, Y]=meshgrid([-3:0.15:3]);

>> Z=X.^2+Y.^2;

>> plot3(X, Y, Z, ‘o’)

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