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

12. График проекций векторов на плоскость

Иногда полезно отображать комплексные величины вида z = х + yi в виде проекции радиус-вектора на плоскость. Для этого используется семейство графических команд класса feather:

feather(U.V) — строит график проекции векторов, заданных компонентами U и V, на плоскость;

feather (Z) — для вектора Z с комплексными элементами дает построения, аналогичные feather(REAL(Z),IMAG(Z));

feather(..., S) — дает построения, описанные выше, но со спецификацией линий, заданной строковой константой S по аналогии с командой plot.

Пример применения команды feather:

» x=0:0.1*pi:3*pi; 

»y=0.05+i; 

» z=exp(x*y); 

» feather(z)

График, построенный в этом последнем примере, показан на рис. 6.15.

Рис. 18 График, построенный функцией feather

Функция Н=РЕАТНЕR(...)строит график и возвращает вектор дескрипторов графических объектов.

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

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

plot3(x.y,z) — строит массив точек, представленных векторами х, у и z, соединяя их отрезками прямых. Эта команда имеет ограниченное применение;

plot3(X,Y,Z), где X, Y и Z — три матрицы одинакового размера, строит точки с координатами X(i.:), Y(i,:) и Z(i,:) и соединяет их отрезками прямых.

Ниже дан пример построения трехмерной поверхности, описываемой функцией 

z(х.у)=х^2+у^2;

» [X.Y]=meshgrid([-3:0.15:3]);

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

» plot3(X.Y.Z)

График этой поверхности показан на рис. 6.18.

Рис. 19 График поверхности, построенный линиями

plot3 (X. Y, Z, S) — обеспечивает построения, аналогичные рассмотренным ранее, но со спецификацией стиля линий и точек, соответствующей спецификации команды plot. Ниже дан пример применения этой команды для построения поверхности кружками:

» [X.Y]=meshgrid([-3:0.15:3]); 

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

» plot3(X,Y,Z.'o')

График поверхности, построенный кружками, показан на рис. 6.19.

Рис. 20График поверхности, построенный разноцветными кружками

plot3(xl ,yl.zl, sl.х2,у2.z2. s2. хЗ,уЗ.z3,s3,...)— строит на одном рисунке графики нескольких функций zl(xl ,yl), z2(x2,y2) и т. д. со спецификацией линий и маркеров каждой из них.

Пример применения последней команды дан ниже:

» [X.Y]=meshgrid([-3:0.15:3]);

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

» plot3(X,Y,Z,'-k',Y,X,Z,'-k ' )

График функции, соответствующей последнему примеру, представлен на рис. 6.20.

Рис. 21 График функции в сетчатом представлении

В данном случае строятся два графика одной и той же функции с взаимно перпендикулярными образующими линиями. Поэтому график имеет вид сетки без окраски ее ячеек (напоминает проволочный каркас фигуры).

13. Tрехмерные контурные графики

Трехмерный контурный график представляет собой расположенные в пространстве линии равного уровня, полученные при расслоении трехмерной фигуры рядом секущих плоскостей, расположенных параллельно опорной плоскости фигуры.

При этом в отличие от двумерного контурного графика линии равного уровня отображаются в аксонометрии. Для получения трехмерных контурных графиков используется команда contourS:

contour3(...) — имеет синтаксис, аналогичный команде contour(...), но строит линии равного уровня в аксонометрии с использованием функциональной окраски (окраска меняется вдоль оси Z).

Полезные частные формы записи этой команды:

contour3(Z) — строит контурные линии для поверхности, заданной массивом Z, без учета диапазона изменения х и у;

contour3(Z.n) — строит то же, что предыдущая команда, но с использованием п секущих плоскостей (по умолчанию n=10);

contour3(X,Y,Z) — строит контурные линии для поверхности, заданной массивом Z, с учетом изменения х и у. Двумерные массивы X и Y создаются с помощью функции meshgrid;

contours(X.Y.Z.n) — строит то же, что предыдущая команда, но с использованием п секущих плоскостей.

Пример применения команды contourS:

» contour3(peaks,20) 

» colormap(gray)

Соответствующий данному примеру график представлен на рис. 6.31. В данном случае задано построение двадцати линий уровня.

Рис. 22Трехмерный контурный график для функции peaks

С командой contourS связаны следующие одноименные функции (не выполняющие графические построения):

C=contour3(...) — возвращает матрицу описания контурных линий С для использования командой clabel;

[С, H]=contour3(...) — возвращает массив С и вектор-столбец Н дескрипторов объектов path для каждой линии уровня. Свойство UserData каждого объекта содержит значение высоты для соответствующего контура.

 

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