КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Построение графиков трехмерных поверхностей
Для построениятрехмерных графиков используют операторы plot3d, plot3d1 и mesh. Обращение к ним следующее: plot3d(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen]), plot3d1(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen])
Здесь x - вектор - столбец значений абсцисс; y - вектор - столбец значений ординат; z - матрица значений функции; theta, alpha - действительные числа, которые определяют в градусах сферические координаты угла зрения на график. Попросту говоря, это угол, под которым наблюдатель видит отображаемую поверхность; leg - подписи координатных осей графика - символы, отделяемые знаком @. Например, 'X@Y@Z'. flag – массив, состоящий из 3 целочисленных параметров [mode,type,box]. Здесь mode устанавливает цвет поверхности. Значения параметра mode >0 - поверхность имеет цвет «mode», выводится прямоугольная сетка. 0 - выводится прямоугольная сетка, заливка отсутствует (белый цвет). <0 - поверхность имеет цвет «mode», отсутствует прямоугольная сетка. По умолчанию, равен 2 - цвет заливки синий, прямоугольная сетка выводится. type - позволяет управлять масштабом графика, по умолчанию имеет значение 2. Значения параметра type 0 - применяется способ масштабирования, как у ранее созданной графики. 1 - границы графика указываются вручную с помощью параметра ebox. 2 - границы графика определяют исходные данные. Box - определяет наличие рамки вокруг отображаемого графика. По умолчанию равен 4. Значения параметра box 0 и 1 - нет рамки 2 - только оси, находящиеся за поверхностью 3 - выводится рамка и подписи осей 4 - выводится рамка, оси и их подписи. ebox - определяет границы области, в которую будет выводиться поверхность, как вектор [xmin,xmax,ymin,ymax,zmin,zmax]. Этот параметр может использоваться только при значении параметра type=1. keyn=valuen - последовательность значений свойств графика key1=value1,key2=value2,...,keyn=valuen, таких как толщина линии, ее цвет, цвет заливки фона графического окна, наличие маркера и др. Таким образом, функции plot3d (plot3d1) в качестве параметров необходимо передать прямоугольную сетку и матрицу значений в узлах сетки. Примеры: -->[x, y]=meshgrid([-3:0.15:3]); z=x.^2+y.^2; plot3d(x, y, z) Задается опорная плоскость для построения трехмерной поверхности, переменные x, y меняются от –3 до 3 с шагом 0,15. xbasc() [x, y]=meshgrid([-3:0.15:3]); z=x.^2+y.^2; plot3d(x, y, z,flag=[5,2,3]) Цвет заливки – красный. xbasc();[x, y]=meshgrid([-3:0.15:3]); z=x.^2+y.^2; plot3d(x, y,z,flag=[5,1,4], ebox=[-5,5,-4,4,-1,20]) xbasc() t=-%pi:.3:%pi; plot3d(t,t,sin(t)'*cos(t),35,45,'x@y@z',[5,2,4]);
Для формирования прямоугольной сетки впервые в Scilab 4.0 появилась функция meshgrid. Обращение к ней имеет вид: [X,Y[,Z]]=meshgrid(x,y[,z]) здесь x,y [,z] - массивы 2(3) исходных параметров X, Y (,Z), указываемые через запятую; X, Y [,Z] - матрицы в случае 2 и массивы в случае 3 входных величин.
После формирования сетки вывести в нее графику можно с помощью функции surf либо mesh. Так же, как и в случае с функциями plot3d и plot3d1, surf строит поверхность, заливая каждую ячейку цветом, который зависит от конкретного значения функции в узле сетки, а mesh заливает ее одним цветом. Таким образом, mesh является полным аналогом функции surf со значением параметров Сolor mode=индекс белого цвета в текущей палитре цветов и Сolor flag=0. -->[x, y]=meshgrid(-2:0.2:2, -3:.2:3); z=x.^2+y.*sin(x); mesh(x,y,z)
-->[x, y]=meshgrid(-2:0.2:2, -3:.2:3); z=x.^2+y.*sin(x); surf(x,y,z) Программа, приведенная ниже, показывает, как можно в одном окне построить графики двух трехмерных функций (оператор mtlb_hold('on');). Правда, и без этого оператора график остается таким же. [x y]=meshgrid(-2:0.2:2,-2:0.2:2); z=3*x.^2+4*y.^2-1; z1=-3*x.^2-4*y.^2-1; surf(x,y,z); mtlb_hold('on'); mesh(x,y,z1); Сферу можно построить так: u = linspace(-%pi/2,%pi/2,40); v = linspace(0,2*%pi,20); X = cos(u)'*cos(v); Y = cos(u)'*sin(v); Z = sin(u)'*ones(v); plot3d2(X,Y,Z); Оператор v = linspace(0,2*%pi,20);задает вектор v, состоящий из 20 значений с шагом π/10.
Дата добавления: 2014-01-06; Просмотров: 410; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |