Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Кусочно-линейный метод построения графика

Общие сведения | Построение графика | Пример. Условная раскраска неравномерно нагретого стержня в разные моменты времени (по заранее заготовленным данным). | Uses Crt, Graph |


Читайте также:
  1. CПОСОБИ ПОБУДОВИ ШТРИХОВИХ КОДІВ ТА МЕТОДИ КЛАСИФІКАЦІЇ
  2. D. Лабораторні методи
  3. I. . Психология как наука. Объект, предмет и основные методы и психологии. Основные задачи психологической науки на современном этапе.
  4. I. Культурология как наука. Предмет. Место. Структура. Методы
  5. I. МЕТОД
  6. I. Методы исследования ПП
  7. I.Методы формирования соц-го опыта.

 

Составим программу построения графика функции

, используя кусочно-линейный метод.

Алгоритм действия следующий:

  1. Из условия задачи следует, что Xmin = a, Хтax= b.
  2. Предельные значения функции для данной области значений аргумента х определим, используя подпрограмму поиска максимума. Тогда в массиве чисел

yi = │f(xi)│, где хi = a + i∙h, , ;

  1. Зададим границы графического окна. В программе будем строить график данной функции 2 раза – в пределах следующих графических окон:

а) Xgmin=100; Xgmax=500; Ygmin= 50; Ygmax=300

б) Xgmin=550; Xgmax=620; Ygmin= 10; Ygmax=100.

  1. Проведем преобразования формул (*) и получим:

Тогда построение графика функции на экране происходит установкой точек (Xg,, Yg) соответствующих координатам математическим (xi, f(xi)) и эти точки соединяются отрезками ломаной с применением процедуры lineto.

Оси координат на графическом экране строятся с учетом формул для экранного начала координат:

 

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

Program grafik;

Uses crt, graph;

Var d, m, n, i,j: integer;

a, b: real;

Function f (x: real): real;

Begin if x<>0 then f:=x*x*sin(1/x);

End;

Procedure grafun(xgmin,xgmax,ygmin,ygmax,n:integer;a,b:real);

Var h, m, x, t1, t2:real;

i, xg, yg, xv, yv: integer;

Begin h:= (b-a)/n;

m:=abs(f(а));

for i:=1 to n do

if m<abs(f(a+i*h)) then m:=abs(f(a+i*h));

{ отношение экранных координат к математическим }

t1:=(xgmax-xgmin)/(b-a);

t2:=(ygmax-ygmin)/(2*m);

{ задается цвет и стиль закраски }

Setfillstyle(1, 15);

Bar(xgmin-5, ygmin-5, xgmax+5, ygmax+5);

{ задается экранное начало координат }

xv:=round(xgmin-a*t1);

yv:=round((ygmin+ygmax)/2);

setcolor(1);

{ нарисовать оси }

Line(xv, ygmin, xv, ygmax);

Line(xgmin, yv, xgmax, yv);

{ устанавливаем курсор в начало графика }

Moveto(xgmin, yv-round(f(a)*t2));

Setcolor(4);

for i:=1 to n do

begin x:=a+i*h;

{формулы связи графических и математических координат}

xg:=xgmin+round((x-a)*t1);

yg:=yv-round(f(x)*t2);

lineto(xg, yg);

end;

End;

Begin clrscr; {Очистка экрана}

Writeln(‘ввод a, b, n’);

Readln(a,b,n);

i:=detect;

Initgraph(i, j, ‘ ’);

SetBkColor(7);{задан светло-серый цвет фона}

grafun(100, 500, 50, 300, n, a, b);{первый график строится пределах графического окна (100, 500, 50, 300)}

grafun(550, 620, 10, 100, 200, -0.1, 0.1) {второй график строится в пределах графического окна (550, 620, 10, 100)};

repeat until keypressed; {функция keypressed предназначена для работы с клавиатурой. Она принимает значение true, если буфер клавиатуры не пуст и false, если буфер клавиатуры пуст, эту функцию удобно использовать пока не нажата клавиша}

closegraph;

End.

Рисунок 2

Данная программа строит 2 графика. Первый график строится пределах графического окна (100, 500, 50, 300), а второй график строится в пределах графического окна (550, 620, 10, 100). На примере второго графика показано, какие параметры n, a, b могут быть выбраны для подробного построения искомого графика. В первом случае параметры n, a, b устанавливаются пользователем произвольно.

 


Дата добавления: 2015-07-20; просмотров: 61 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Точечный метод построения графика| Лабораторная работа №2

mybiblioteka.su - 2015-2024 год. (0.006 сек.)