Моделирование в MATLAB/Simulink и SCILAB/Scicos - page 66

64
5. 2. Трехмерная графика
5. 2. 1. Создание массивов данных для трехмерной графики
Поверхности
, как объекты трехмерной графики, обычно описываются
функцией двух переменных
( )
yxz
,
. Специфика построения трехмерных
графиков требует не просто задания ряда значений
x
и
y
, то есть векторов
x
и
y
. Она требует определения для
X
и
Y
двумерных массивов – матриц. Для
создания таких массивов служит функция
meshgrid
. В основном она
используется совместно с функциями построения графиков трехмерных
поверхностей. Функция
meshgrid
записывается в следующих формах:
[
]
( )
yx
meshgrid
YX
,
,
=
– преобразует область, заданную векторами
x
и
y
, в массивы
X
и
Y
, которые могут быть использованы для
вычисления функции двух переменных и построения трехмерных
графиков. Строки выходного массива
Х
являются копиями вектора
x
;
а столбцы
Y
– копиями вектора
y
;
[
]
( )
x
meshgrid
YX
=
,
– аналогична
[
]
( )
xx
meshgrid
YX
,
,
=
;
[
]
(
)
zyx
meshgrid
ZYX
, ,
, ,
=
– возвращает трехмерные массивы,
используемые для вычисления функций трех переменных и
построения трехмерных графиков.
[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(-2:.2:2, -2:.2:2);
Такой вызов функции позволяет задать опорную плоскость для построения
трехмерной поверхности при изменении
x
и
y
от -2 до 2 с шагом 0,2.
Функция
ndgrid
является многомерным аналогом функции
meshgrid
:
[
]
(
)
,3,2,1
,3 ,2 ,1
x xx
ndgrid
XXX
=
– преобразует область, заданную
векторами
,3,2,1
x xx
, в массивы
,3 ,2 ,1
XXX
, которые могут быть
использованы для вычисления функций нескольких переменных и
многомерной интерполяции.
i
-я размерность выходного массива
Xi
является копией вектора
xi
;
[
]
( )
x
ndgrid
XX
=
,2 ,1
– аналогична
[
]
(
)
, ,
,2 ,1
xx
ndgrid
XX
=
.
1...,56,57,58,59,60,61,62,63,64,65 67,68,69,70,71,72,73,74,75,76,...286
Powered by FlippingBook