Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Turbo Pascal / Методические указание / Графики и троектории.DOC
Скачиваний:
46
Добавлен:
15.06.2014
Размер:
225.79 Кб
Скачать

32

Министерство общего и профессионального образования

Российской Федерации

Уфимский государственный авиационный

технический университет

Кафедра технической кибернетики

Графики и траектории

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам

по учебной практике

для подготовки инженеров по специальности 210100

”Управление и информатика в технических системах”

Уфа 1997

Составитель: О.В. Трушин

УДК 681.3.06

Методические указания к лабораторным работам по учебной практике для подготовки инженеров по специальности 210100 ”Управление и информатика в технических системах” / Уфимск. гос. авиац. техн. унив-т; Сост. О. В. Трушин. - Уфа, 1997. – 30 с.

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

Табл. 4. Ил. 6 . Библиогр.: 15 наимен.

Рецензенты: Л. П. Костюкова

М. Е. Сидоров

Содержание

Стр.

Введение ........................................................................................... 4

Лабораторная работа № 1.

Построение графиков функций, заданных в явном виде ............. 5

Лабораторная работа № 2.

Построение графиков функций, заданных в неявном виде......... 10

Лабораторная работа № 3.

Построение траекторий движения ................................................ 13

Лабораторная работа № 4.

Изучение методов аппроксимации ............................................... 21

Список литературы ........................................................................ 26

Приложение А ................................................................................ 27

Введение

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

Наиболее простой и наглядный способ визуализации – построение графиков функций, служащих основой разрабатываемой математической модели. Графики функций строятся обычно в декартовой системе координат ( XoY ). Функция может быть определена в явном виде типа Y=F(X), в неявном –F(X, Y)=0, в параметрическом–X=Fx( t), Y=Fy( t).

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

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

Лабораторная работа № 1

Построение графиков функций, заданных в явном виде

1 Цель работы

Практическое освоение методологии построения графика функции Y=F(X) в декартовой прямоугольной системе координат с использованием программных средств персонального компьютера.

2 Алгоритм построения графика функцииY=F(X)

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

Пусть задана непрерывная функция F(X) в диапазоне изменения аргумента X=[A..B].

Требуется построить по N точкам график функции Y=F(X) в прямоугольной области экрана left, up, right, down.

left right

up Y

X

A 0 B

down

а) Определяем массивы значений аргумента и функции:

X[i], Y[i]=F(X[i]), где i=1..N. При равномерном разбиении

интервала [A..B]массивы можно задавать операторами

Dx:= (B-A)/(N-1); { шаг разбиения поX}

for i:=1 to N do begin X[i]:=A +Dx*(i-1);

Y[i]:=F(X[i]) end;

б) Определяем наибольшее Y_max и наименьшее Y_minзначения

функции в заданном интервале изменения аргумента

Y_max:= Y[1]; Y_min:= Y[1];

for i:= 2 to N do begin

IF Y_max < Y[i] THEN Y_max:=Y[i];

IF Y_min > Y[i] THEN Y_min:=Y[i]

end;

В случае явного задания функции для аргумента X наибольшее значение X_max= Bи наименьшееX_min= A. Эти значения необходимо определить для полного размещения графика в расчетной области.

в) Определяем коэффициенты масштабирования при построении

графика в заданной области экрана

Kx:=(right -left)/(X_max -X_min);

Ky:=( down - up )/(Y_max -Y_min);

Если X и Y имеют одинаковую размерность или оба безразмерны, то появится искажение естественной формы кривой вследствие разного масштабирования по осям координат ( растяжение или сжатие по одной из осей ). Для вывода графика без искажения формы кривой следует переназначить координаты области экрана так, чтобы получить Ky=Kx.

Например, при пересчете правой или нижней границы области

вывода графиков

if kX<kY then begin kY:=kX;

down:= up +round((Ymax-Ymin)*kY) end

else begin kX:=kY;

right:=left+round((Xmax-Xmin)*kX) end;

г) Определяем координаты точек для построения графика в системе

координат экрана

XG[i]:= left +round( Kx*( X[i]-X_min));

YG[i]:= down -round( Ky*( Y[i]-Y_min));

Здесь Kx*(X[i]-X_min)и Ky*(Y[i]-Y_min)– смещения координат точек по соответствующим осям относительно границ областиleft иdown. Разные знаки перед смещениями по осям X и Y получаются из-за необходимости "переворота" оси Y, которая в координатах монитора

направлена сверху вниз.

е) Строим график в виде последовательных отрезков

moveto( XG[1], YG[1]);

for i:=2 to N do lineto( XG[i], YG[i]);

ж) Строим оси координат, предварительно задав начало координат

X0,Y0(обычноX0 =0, Y0 =0) и вычислив

XG0:= left +round( Kx*(X0 -X_min));

YG0:= down -round( Ky*(Y0 -Y_min));

Оси координат целесообразно строить лишь с случае их попадания в

соответствующие диапазоны X_min..X_max, Y_min..Y_max

if X_min*X_max<=0 then line( XG0, up, XG0, down);

if Y_min*Y_max<=0 then line(left, YG0, right, YG0);