на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Основы графической визуализации вычислений

Основы графической визуализации вычислений

33

Основы графической визуализации вычислений

Особенности графики системы MATLAB

· Построение графика функций одной переменной

· Построение графиков точками и отрезками прямых

· Графики в логарифмическом и полулогарифмическом масштабе

· Гистограммы и диаграммы

· Графики специальных типов

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

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

· Средства управления подсветкой и обзором фигур

· Средства оформления графиков

· Одновременный вывод нескольких графиков

· Управление цветовой палитрой

· Окраска трехмерных поверхностей

· Двумерные и трехмерные графические объекты

Основные отличительные черты графики MATLAB

· существенно улучшенный интерфейс графических окон;

· введение новой панели инструментов Camera для интерактивного изменения условий видимости объекта;

· расширенные возможности форматирования графики;

· возможность создания графики в отдельных окнах;

· возможность вывода нескольких графических окон;

· возможность перемещения окон по экрану и изменения их размеров;

· возможность перемещения области графики внутри графического окна;

· задание различных координатных систем и осей;

· высокое качество графики;

· широкие возможности использования цвета;

· легкость установки графических признаков - атрибутов;

· снятие ограничений на число цветов;

· обилие параметров команд графики;

· возможность получения естественно выглядящих трехмерных фигур и их сочетаний;

· простота построения трехмерных графиков с их проекцией на плоскость;

· возможность построения сечений трехмерных фигур и поверхностей плоскостями;

· функциональная многоцветная и полутоновая окраска;

· возможность имитации световых эффектов при освещении фигур точечным источником света;

· возможность создания анимационной графики;

· возможность создания объектов для типового интерфейса пользователя.

Построение графика функций одной переменной

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

Рассмотрим простейший пример - построение графика синусоиды. MATLAB строит графики функций по ряду точек, соединяя их отрезками прямых, т. е. осуществляя линейную интерполяцию функции в интервале между смежными точками. Зададим интервал изменения аргумента x от 0 до 10 с шагом 0.1. Для построения графика достаточно вначале задать вектор х=0:0.1:10, а затем использовать команду построения графиков plot (sin(x)).

Вектор x задает интервал изменения независимой переменной от 0 до 10 с шагом 0.1. Функция plot строит не истинный график функции sin(x), а лишь заданное числом элементов вектора x число точек. Эти точки затем просто соединяются отрезками прямых, т. е. осуществляется кусочно-линейная интерполяция данных графика. При 100 точках полученная кривая глазом воспринимается как вполне плавная, но при 10 - 20 точках она будет выглядеть состоящей из отрезков прямых.

MATLAB строит графики в отдельных окнах, называемых графическими окнами. В главном меню окна команды пункта меню Tools (Инструменты), позволяют вывести или скрыть инструментальную панель. Средства этой панели позволяют легко управлять параметрами графиков и наносить на них текстовые комментарии в любом месте.

Построение в одном окне графиков нескольких функций

Построим графики сразу трех функций:sin(x), cos(x) и sin(x)/х. Прежде всего, отметим, что эти функции могут быть обозначены переменными, не имеющими явного указания аргумента в виде у (x):

>>y1=sin(x); y2=cos(x); y3=sin(x)/x;

Такая возможность обусловлена тем, что эти переменные являются векторами - как и переменная x. Теперь можно использовать одну из ряда форм команды

plot: plot(a1, f1, a2, f2, a3, f3,...).

где a1, a2, a3,…- векторы аргументов функций, а f1, f2, f3,... - векторы значений функций, графики которых строятся в одном окне. В нашем случае для построения графиков указанных функций мы должны записать следующее:

>> plot (x, y1, x, y2, x, y3)

Можно ожидать, что MATLAB в этом случае построит, как обычно, точки графиков этих функций и соединит их отрезками линий. Но, если мы выполним эти команды, то никакого графика не получим вообще. Не исключен даже сбой в работе программы. Причина этого казуса возникнет при вычислении функции y3=sin(x)/x, если x представляет собой массив (вектор), то нельзя использовать оператор матричного деления /.

Чтобы получить график, надо вычислять отношение sin(x) к x с помощью оператора поэлементного деления массивов ./.

>>y1=sin(x); y2=cos(x); y3=sin(x)./x;

Warning: Divide by zero.

(Type "warning off MATLAB:divideByZero" to suppress this warning.)

>> plot(x,y1,x,y2,x,y3)

MATLAB построил графики всех трех функций, но в окне командного режима появилось предупреждение о делении на 0 - в момент, когда х=0. Это говорит о том, что plot «не знает» о том, что неопределенность sin(x)/x=0/0 устранима и дает 1. Это недостаток практически всех систем для численных вычислений.

Графическая функция fplot

MATLAB имеет средства для построения графиков и таких функций, как sin(x)/x, которые имеют устранимые неопределенности. Это делается, с помощью другой графической команды -

fplot: fplot('f(x)', [xmin, xmax])

Она позволяет строить функцию, заданную в символьном виде, в интервале изменения аргумента х от xmin до xmax без фиксированного шага изменения х. Хотя в процессе вычислений предупреждение об ошибке (деление на 0) выводится, график строится правильно, при х=0 sinx/x=1. Команда grid on (сетка)- включает отображение сетки, которая строится пунктирными линиями.

>> fplot('sin(x)/x', [-15,15]); grid on

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

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

Команда plot служит для построения графиков функций в декартовой системе координат. Эта команда имеет ряд параметров, рассматриваемых ниже.

· plot (X, Y) -- строит график функции у(х), координаты точек (х, у) которой берутся из векторов одинакового размера Y и X. Если X или Y -- матрица, то строится семейство графиков по данным, содержащимся в колонках матрицы.

Приведенный ниже пример иллюстрирует построение графиков двух функций -- sin(x) и cos(x), значения, функции которых содержатся в матрице Y, а значения аргумента х хранятся в векторе X:

>> x=[0 1 2 3 4 5];

>> y1=sin(x); y2=cos(x);

>> plot(x,y1,x,y2)

На рисунке показан график функций из этого примера. В данном случае отчетливо видно, что график состоит из отрезков, и если вам нужно, чтобы отображаемая функция имела вид гладкой кривой, необходимо увеличить количество узловых точек. Расположение их может быть произвольным.

· plot(Y) -- строит график у(x), где значения y берутся из вектора Y, а x представляет собой индекс соответствующего элемента. Если Y содержит комплексные элементы, то строится график plot (real (Y), imag(Y)). Во всех других случаях мнимая часть данных игнорируется.

Пример использования команды plot(Y):

>> x=-2*pi:0.02*pi:2*pi;

>> y=sin(x)+i*cos(3*x);

>> plot(y)

plot(X,Y,S) -- аналогична команде plot(X,Y), но тип линии графика можно задавать с помощью строковой константы S.

Значениями константы S могут быть следующие символы:

Цвет линии

Тип точки

Тип линии

Желтый

y

Точка

.

Сплошная

-

Фиолетовый

m

Окружность

0

Двойной пунктир

;

Голубой

c

Крест

x

Штрих-пунктир

-.

Красный

r

Плюс

+

Штриховая

--

Зеленый

g

Звездочка

*

Синий

b

Квадрат

s

Белый

w

Ромб

d

Черный

k

Треугольник (вниз)

v

Треугольник (вверх)

^

Треугольник (влево)

<

Треугольник (вправо)

>

Пятиугольник

p

Шестиугольник

h

Таким образом, с помощью строковой константы S можно изменять цвет линии, представлять узловые точки различными отметками (точка, окружность, крест, треугольник с разной ориентацией вершины и т. д.) и менять тип линии графика.

· рlot (X1,Y1, S1, Х2, Y2, S2, ХЗ, Y3, S3,...) - эта команда строит на одном графике ряд линий, представленных данными вида (X.,Y.,S.), где X. и Y. -- векторы или матрицы, а S. -- строки. С помощью такой конструкции возможно построение, например, графика функции линией, цвет которой отличается от цвета узловых точек. Так, если надо построить график функции линией синего цвета с красными точками, то вначале надо задать построение графика с точками красного цвета (без линии), а затем графика только линии синего цвета (без точек).

При отсутствии указания на цвет линий и точек он выбирается автоматически из таблицы цветов (белый исключается). Если линий больше шести, то выбор цветов повторяется. Для монохромных систем линии выделяются стилем.

Рассмотрим пример построения графиков трех функций с различным стилем представления каждой из них:

>> x=-2*pi:0.1*pi:2*pi;

>> y1=sin(x);y2=sin(x).^2;

>> y2=sin(x).^2;

>> y3=sin(x).^3;

>>plot(x,y1,'-m',x,y2,'-.+r',x,y3,'--ok')

Здесь график функции y1 строится сплошной фиолетовой линией, график у2 строится штрих пунктирной линией с точками в виде знака «плюс» красного цвета, а график yЗ строится штриховой линией с кружками черного цвета.

Графики в логарифмическом масштабе

Для построения графиков функций со значениями x и у, изменяющимися в широких пределах, нередко используются логарифмические масштабы. Рассмотрим команды, которые используются в таких случаях.

· loglogx(...) - синтаксис команды аналогичен ранее рассмотренному для функции plot(...). Логарифмический масштаб используется для координатных осей X и Y. Ниже дан пример применения данной команды:

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.