4.4. Графики в логарифмической и полулогарифмической сетках

При построении графика изменяющейся в широких пределах зависимости логарифмическая шкала имеет преимущество перед равномерной. График функции в этом случае, также как и при равномерных шкалах, вычерчивается внутри прямоугольной облас­ти, задаваемой обращением к программе REGION. Пределы измене­ния функции и ее аргумента определяются программой LIMITS. Eстественно, что предельные значения координаты, относящейся к логарифмической шкале, должны быть положительными. C помощью программы LGLINE можно начертить кривую по заданным массивам точек X и Y.

Программа LGLINE(X,Y,N,LG,NM,JS,L) позволяет по последова­тельности точек начертить в заданной области кривую в прямоу­гольной системе координат с логарифмической шкалой. Параметры программы:

X,Y
массивы координат точек (длины N);
|N|
количество точек (если N < 0, допускается выход за пределы области);
LG
признак логарифмической шкалы:
Значение
Смысл
 1 по оси абс­цисс,
-1 по оси ординат
 0 по обеим осям;
|NM|
номер маркера (если NM < 0, изображается маркер уменьшенных размеров);
|JS|
шаг маркировки:
Значение
Смысл
> 0 проводится линия с марке­рами,
= 0 проводится линия без маркеров,
< 0 отмеча­ется маркером каждая |JS|-тая точка, причем линия не проводит­ся;
L
признак замкнутости:
Значение
Смысл
0 незамкнутая линия
1 замкнутая линия.

Для перевода математических координат в страничные имеется программа TMLGF.

Программа TMLGF(XM,YM,LG,N,XF,YF) позволяет перевести ма­тематические координаты точки в страничные с учетом логарифми­ческой сетки. Параметры программы:

XM,YM
математические значения координат X и Y;
LG
признак логарифмической шкалы:
Значение
Смысл
 1 по оси абс­цисс,
-1 по оси ординат
 0 по обеим осям;
N
параметр, определяющий, может ли точка находиться за пределами области: 
Значение
Смысл
-1 может,
 0 точка, оказывающая­ся за пределами области, проецируется на границу области;
XF,YF
значения координат X и Y в заданных единицах из­мерения.

Для проведения осей координат с логарифмической шкалой предназначены программы XLGAX и YLGAX. Оси метятся основными и дополнительными делениями. C основными делениями соотносятся их численные значения. Через основные деления могут быть про­ведены координатные линии.

Программа XLGAX(Y0,NAMEX,NX,JS,KX,M) позволяет провести и разметить оси абсцисс с логарифмической шкалой. Параметры программы:

Y0
математическое значение координаты Y в точке, через которую проводится ось абсцисс;
NAMEX
название оси;
NX
количество литер в названии;
JS
определяет шаг 10JS, с которым наносятся основные де­ления;
|KX|
число дополнительных делений внутри основного (|KX| < 10):
KX > 0 - ось ординат с равномерной шкалой,
KX £0 - ось ординат с логарифмической шкалой;
M
признак нанесения координатной сетки по оси абсцисс:
Значение
Смысл
0 без нанесения сетки,
1 с нанесением сетки.

Программа YLGAX(X0,NAMEY,NY,JS,KY,M) позволяет провести и разметить ось ординат с логарифмической шкалой. Параметры программы:

X0
математическое значение координаты X в точке, через которую проводится ось ординат;
NAMEY
название оси;
NY
количество литер в названии;
JS
определяет шаг 10JS, с которым наносятся основные де­ления;
KY
число дополнительных делений внутри основного (KY < 10):
|KY| - число дополнительных делений внутри основного (|KY| £10):
KY > 0 - ось ординат с равномерной шкалой,
KY £0 - ось ординат с логарифмической шкалой;
M
признак нанесения координатной сетки по оси ординат:
Значение
Смысл
0 без нанесения сетки,
1 с нанесением сетки.

Eсли используется полулогарифмическая шкала, т.е. одна из осей имеет логарифмическую шкалу, а другая - равномерную, то ось с равномерной шкалой проводится с помощью подпрограмм XAXIS или YAXIS. Чтобы определить координату точки на логариф­мической оси, через которую проходит ось с равномерной шкалой, следует воспользоваться подпрограммой-функцией COORD.

Функция COORD(C0,J) позволяет получить математическое зна­чение координаты на оси с равномерной шкалой, соответствующее заданному значению координаты на оси с логарифмической шкалой. Здесь:

C0
математическое значение координаты на логарифмичес­кой оси;
J
признак координаты:
Значение
Смысл
0 координата на оси абс­цисс,
1 на оси ординат.

Значение, полученное с помощью функции COORD, используется при обращении к подпрограммам XAXIS или YAXIS.


Рис.4.5. Графики функций в обычной и полулогарифмической шкалами.

рис.4.5 приведены два графика, характеризующие измене­ние давления в атмосфере Bенеры в зависимости от высоты, в де­картовой системе координат и в прямоугольной системе координат с логарифмической шкалой по оси ординат. Pисунок получен с по­мощью следующей программы:

     DIMENSIОN P(400),Z(400),CS(400),RHО(400),TM(400)
     DО 2 I=1,300
     Z(I)=I
     CALL VENUSA(Z(I),P(I),CS(I),RHО(I),TM(I))
 2   CОNTINUE
     CALL PAGE(20.,22.,'PAGE',4,0)
     CALL REGIОN(1.,3.,18.,12.,
    &    'BЫCОTA B KM, ДABЛEHИE B HЬЮTОH/KB.M',35,0)
     CALL MINMAX(P,300,AMN,AMX)
     CALL LIMITS(1.,300.,AMN,AMX)
     CALL YLGAX(Z(1),'PRESSURE',8,0,5,1)
     CN=CООRD(1000.,1)
     CALL XAXIS(CN,'ALTITUDE',8,0.,1,0,1)
     CALL LGLINE(Z,P,300,-1,1,0,0)
     CALL LINEMО(Z,P,300,3,10)
     CALL YAXIS(200.,'P',1,0.,2,0,4)
     CALL ENDPG(0)
     END