Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Построение графиков функций

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

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

 

dx=(xmax-xmin)/(k-1), (1)

 

где dx - шаг изменения аргумента;

xmax - максимальное значение аргумента;

xmin - минимальное значение аргумента;

k - выбранное количество точек графика.

 

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

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

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

Номер позиции в строке (абсцисса) точки графика определяется из выражения:

 

kx(i)=](x(i)-xmin)*mx/rx[ +xn, (2)

 

где kx(i) - номер позиции в строке для i- oй точки;

x(i) - значение аргумента в i- ой точке;

rx=xmax-xmin - диапазон изменений аргумента;

mx=xk-xn - диапазон позиций вдоль оси абсцисс поля вывода;

] [ - округление до ближайшего целого.

 

Номер позиции в столбце (ордината) точки графика определяется из выражения:

 

ky(i)=](ymax-y(i))*my/ry[ +yn, (3)

 

где ky(i) - номер позиции в столбце для i-ой точки;

y(i) - значение функции в i-ой точке;

ymax - максимальное значение функции;

ry=ymax-ymin - диапазон значений функции;

ymin - мнимальное значение функции;

my=yk-yn - диапазон позиций вдоль оси ординат поля вывода.

 

На основе полученных координат точек кривой графика осуществляется рисование графика путем соединения этих точек отрезками прямых. Затем обводится поле вывода.

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

dx=(xmax-xmin)/ndx

(4)

dy=(ymax-ymin)/ndy

 

Те же значения, выраженные в экранных координатах:

 

lx=](xk-xn)/ndx[

(5)

ly=](yk-yn)/ndy[

 

где dx (dy) - разность значений аргумента (функции), соответствующая интервалу между двумя соседними линиями сетки по оси абсцисс (ординат);

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

 

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

При построении нескольких графиков в одном поле можно выводить их в одном или разных масштабах. Если каждый график выводится в своем масштабе, то можно воспользоваться выражениями (1)-(4) без изменений. При построении же графиков в общем масштабе необходимо в этих выражениях в качестве xminymin) выбрать минимальный из всех xmi n (и ymin), а в качестве xmaxymax) - максимальный из всех xmaxymax).

В этих задачах удобно использовать процедурный тип.

В качестве примера приводится программа, изображающая графики двух функций sin(x) и 2cos(x)) в общем масштабе. Для работы программы необходимо ввести начальное и конечное значения аргумента, которые приняты одинаковыми для обеих функций (см. рисунок 4).

 

Рис. 4 Ввод исходных данных

 

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

Рис. 5 Построение графиков

 

ВАРИАНТЫ ЗАДАНИЙ

 

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

 

Вариант Функции Вариант Функции
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

<== предыдущая | следующая ==>
в период промежуточной аттестации весеннего семестра 2015/2016 учебного года | Глава I. Православная церковь в борьбе против антицерковного движения

Date: 2016-05-14; view: 546; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.011 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию