Фафурин В.А., Терюшов И.Н. Автоматизация технологических процессов и производств - файл n1.doc
приобрестиФафурин В.А., Терюшов И.Н. Автоматизация технологических процессов и производствскачать (16087.5 kb.)
Доступные файлы (1):
n1.doc
Продолжение таблицы 1.6 Задание 14 |
Перегретый газ | F P ?
| 10 10 10 | 512 896 768
| Метран 100ДД Сапфир 22 МР-ДИ Термопреобразователь нормирующий Ш9322И, гр. ХК |
(Fmax=630 м3/ч) 0-16 кгс/см2 (0-1,6МПа) 0-300 0С |
0-10 В |
Задание 15 |
Насыщен ный пар | F P | 12 12 | 3200 3584 | Метран 100ДД Сапфир 22 МР-ДИ |
(Fmax=500 м3/ч) 0-25 кгс/см2 (0-2,5 МПа)
| 0-10 В |
Продолжение таблицы 1.6 Задание 16 |
Газ | F P ?
| 10 10 10 | 640 768 896 | Метран 100ДД Сапфир 22 МР-ДИ Термопреобразователь нормирующий Ш9321И, гр. 50М |
(Fmax=250 м3/ч) 0-40 кгс/см2 (0-4,0 МПа) 0-100 0С |
0-10 В |
Задание 17 |
Перегретый газ | F P ?
| 12 12 12 | 2048 3584 3200
| Метран 100ДД Сапфир 22 МР-ДИ Термопреобразователь нормирующий Ш9322И, гр. ХК |
(Fmax=800 м3/ч) 0-40 кгс/см2 (0-4,0 МПа) 0-400 0С |
0-10 В |
Продолжение таблицы 1.6 Задание 18 |
Насыщен ный пар | F P | 10 10 | 768 896 | Метран 100ДД Манометр Сапфир 22 МР-ДИ |
(Fmax=250 м3/ч) 0-10 кгс/см2 (0-1,0 МПа)
| 0-10 В |
Задание 19 |
Перегретый газ | F P ?
| 12 12 12 | 3200 2048 3584
| Метран 100ДД Сапфир 22 МР-ДИ Термопреобразователь нормирующий Ш9322И, гр. ХК |
(Fmax=630 м3/ч) 0-16 кгс/см2 (0-1,6 МПа) 0-400 0С | 0-10 В |
Продолжение таблицы 1.6 Задание 20 |
Газ | F P ?
| 10 10 10 | 512 896 768 | Метран 100ДД Сапфир 22 МР-ДИ Термопреобразователь нормирующий Ш9321И, гр. 50М |
 (Fmax=250 м3/ч) 0-40 кгс/см2 (0-4,0 МПа) 0-100 0С |
0-10 В |
Задание 21 |
Насыщен ный пар | F P | 12 12 | 2048 3328 | Метран 100ДД Сапфир 22 МР-ДИ |
(Fmax=500 м3/ч) 0-25 кгс/см2 (0-2,5 МПа) | 0-10 В |
Продолжение таблицы 1.6 Задание 22 |
Газ | F P ?
| 10 10 10 | 768 512 832 | Метран 100ДД Сапфир 22 МР-ДИ Термопреобразователь нормирующий Ш9321И, гр. 50М |
(Fmax=320 м3/ч) 0-25 кгс/см2 (0-2,5 МПа) 0-100 0С |
0-10 В |
Задание 23 |
Перегретый газ | F P ?
| 12 12 12 | 3584 2048 3200
| Метран 100ДД Сапфир 22 МР-ДИ Термопреобразователь нормирующий Ш9322И, гр. ХК |
(Fmax=500 м3/ч) 0-40 кгс/см2 (0-2,5 МПа) 0-250 0С | 0-10 В |
Продолжение таблицы 1.6 Задание 24 |
Насыщен ный пар | F P | 10 10 | 832 768 | Метран 100ДД Сапфир 22 МР-ДИ |
(Fmax=500 м3/ч) 0-16 кгс/см2 (0-1,6 МПа)
| 0-10 В |
Задание 25 |
Перегретый газ | F P
?
| 12 12
12 | 2048 3328
2816
| Метран 100ДД Сапфир 22 МР-ДИ Термопреобразователь нормирующий Ш9322И, гр. ХК |
(Fmax=800 м3/ч) 0-25 кгс/см2 (0-2,5 МПа) 0-400 0С | 0-10 В |
Продолжение таблицы 1.6 Задание 26 |
Газ | F P ?
| 10 10 10 | 768 832 512 | Метран 100ДД Сапфир 22 МР-ДИ Термопреобразователь нормирующий Ш9321И, гр. 50М |
(Fmax=630 м3/ч) 0-40 кгс/см2 (0-4,0 МПа) 0-100 0С |
0-10 В |
Задание 27 |
Насыщен ный пар | F P | 12 12 | 2048 3200 | Метран 100ДД Сапфир 22 МР-ДИ |
(Fmax=500 м3/ч) 0-10 кгс/см2 (0-1,0 МПа)
| 0-10 В |
Продолжение таблицы 1.6 Задание 28 |
Газ | F P ?
| 10 10 10 | 512 832 640 | Метран 100ДД Сапфир 22 МР-ДИ Термопреобразователь нормирующий Ш9321И, гр. 50М |
(Fmax=800 м3/ч) 0-25кгс/см2 (0-2,5 МПа) 0-100 0С |
0-10 В |
Задание 29 |
Насыщен ный пар | F
P | 12 12 | 3200 2816 | Метран 100ДД Сапфир 22 МР-ДИ |
(Fmax=630 м3/ч) 0-10 кгс/см2 (0-1,0 МПа)
| 0-10 В |
Окончание таблицы 1.6 Задание 30 |
Перегретый газ | F P ?
| 10 10 10 | 640 832 384
| Метран 100ДД Сапфир 22 МР-ДИ Термопреобразователь нормирующий Ш9322И, гр. ХК |
(Fmax=500 м3/ч) 0-40 кгс/см2 (0-4,0 МПа) 0-400 0С |
0-10 В |
Требуется:
Соответствие с данными табл.1.5 для одного из технологических потоков определить вначале действительные значения давления и температуры, а затем, используя формулу (50) – действительное значение расхода.
Порядок расчета
1. По формуле (47), которая в данном случае запишется в виде (54), определяет действительное значение давления
Р.
2. Определяет действительное значение температуры. Если температура измеряется термометром сопротивления, то для расчета ее действительного значения используем полином из таблицы 1.2 [4]
X = 0,0054
у2 + 4,99
у – 262,5
, (74)
где
Х, 0С – температура в объекте;
у – сопротивление термометра в
мах, соответствующее данной температуре.
Формула (74) для канала измерения температуры, изображенного на рис.1.6, запишется в виде

(75)
Коэффициент усиления
КНП нормирующего преобразователя, входящий в формулу (75), как и для случая термопары, запишется в виде

, (76)
где
y1max = 10 В по заданию, см. таблицу 1.5;
ymax – максимальное значение выходного сигнала термометра сопротивления, определяемое по градуировочным таблицам [5].
Если же температура измеряется термопарами (хромель-копелевой – хромель-алюмелевой), то для расчета ее действительного значения используем формулы (46) или (56).
При известных значениях
Р и
? по формуле (50) определяем действительное значение расхода
F. Поправочный коэффициент
К? входящий в (50), рассчитываем по формулам (19) и (20), значения
?g – по формулам (72) и (73).
3. Содержание отчета 1. Краткое описание цели работы и основных теоретических положений по сбору и первичной обработке информации в АСУТП.
2. Исходные данные (по своему варианту), порядок выполнения и результаты расчетов по задачам 1, 2, 3, 4 и 5.
3. Программное обеспечение задач, решение которых осуществлялось на ЭВМ.
4. Выводы по результатам расчетов для каждой из пяти задач.
4. Контрольные вопросы 1. Поясните работу алгоритмов циклического и адресного опроса датчиков.
2. Основные задачи первичной обработки информации. Перечень и характеристика задач, их математическое и физическое истолкование.
3. Линеаризация выходных сигналов датчиков. Алгоритмы линеаризации, необходимость этой процедуры.
4. Используемые в АСУТП алгоритмы фильтрации: скользящего среднего и экспоненциального сглаживания. Математическая запись алгоритмов, их настроечные параметры. Физическое истолкование алгоритмов.
5. Проверка исходной информации на достоверность. Полные и метрологические отказы. Алгоритмы их выявления.
6. Информационная избыточность в АСУТП. За счет чего она достигается. Ее использование для выявления метрологических отказов.
7. Коррекция показаний датчиков при отклонении условий измерения от расчетных (градуировочных). Коррекция показаний расходомеров, уровнемеров.
Введите поправки на температуру свободных концов термопары, алгоритм. Математическая запись алгоритма, физический смысл.
8.Расчёт действительных значений измеряемых величин по кодам АЦП (давлений, температур, уровней, расходов и др. параметров). Формулы для расчёта, их математическая запись и физическое истолкование.
9. Частота опроса датчиков технологических параметров в АСУТП.
Использование статистических характеристик (математического ожидания, дисперсии и корреляционной функции) для определения периода опроса датчиков

. Формула для расчёта
10. Экстраполяция при дискретном контроле в АСУТП. Ступенчатая экстраполяция. Математическая запись, физический смысл.
Другие виды экстраполяции (линейная, стохастическая). Математическая запись, физический смысл.
Погрешности ступенчатой и других видов экстраполяции при определении периода опроса датчиков

.
Приложение 1 “
ФЛТ ЭС" - расчет настроечных параметров фильтров экспоненциального сглаживания SCREEN 9
COLOR 15, 1
DIM SGAM(IO)
DIM A(10)
DIM B(10)
DIM C(10)
i 1:
INPUT "Alpha = "; alpha
INPUT "Sigma_x="; sigx
INPUT "Upper Limit of Gamma="; gamup
INPUT "Lower Limit of Gamma="; gamdown
INPUT "Upper Limit of K="; kup
INPUT "Lower Limit of K="; kdown
INPUT "Upper Limit of M="; mup
INPUT "Lower Limit of M="; mdown
INPUT "Upper Limit of Tau="; tauup
INPUT "Lower Limit of Tau="; taudown
IF gamup
PRINT "The Lower Limit Should BE lowerer Than Upper! "
GOTO i l
END IF
stgam = (gamup - gamdown)/10
stk = (kup - kdown)/10
stm = (mup - mdown)/10
sttau = (tauup - taudown)/10
gammid = .5
REM kmid = kdown + stepk * 5
REM mmid = mdown + stepm * 5
REM taumid = taudown + steptau * 5
kmid = 2
mmid = 4
taumid = 5
FOR I = 0 TO 10
gam = stgam * I
REM Gamma
part1 = (gam * (1 + (1 - gam) * EXP(-alpha * taumid))/((2 - gam)* * (1 - (1 - gam) * EXP (-alpha * taumid))) + 1)
part2 = kmid * gam * (1 + (1 - gam) * EXP(-alpha * mmid * taumid))/ /((2 - gam) * (1 - (1 - gam) * EXP(-alpha * mmid * taumid)))
part3 = 2 * gam/(1 - (1 - gam) * EXP(-alpha * mmid))
SGAM(I) = sigx * (part1 + part2 - part3)
REM k
k = stk * I
part1 = (gammid * (1 + (1 - gammid) * EXP(-alpha * taumid))/((2 - -gammid) * (1 - (1 - gammid) * EXP(-alpha * taumid))) + 1)
part2 = k * gammid * (1 + (1- gammid) * EXP(-alpha * mmid * * taumid))/((2 - gammid) * (1 - (1 - gammid) * EXP(-alpha * mmid * taumid)))
IF min > С(I) THEN
min = С(I)
END IF
NEXT
AS = INPUTS (1)
CLS
SCREEN 9
COLOR 3, 0
LOCATE 1, 25
PRINT " Graphs of Sigma in three Dependenses"
LOCATE 3, 10
COLOR 15, 0
PRINT "on Gamma"
COLOR 1, 0
LOCATE 3, 20
PRINT "on K"
COLOR 4, 0
LOCATE 3, 30
PRINT "on M"
LOCATE 3, 40
COLOR 2, 0
PRINT "on Tau"
COLOR 15, 0
LOCATE 8, 1
PRINT max
LOCATE 22, 1
PRINT min
LOCATE 23, 11
PRINT "0"
LOCATE 23, 65
PRINT "10"
VIEW (100, 100) - (500, 300)
WINDOW (0, min) - (10, max * 1.1)
ystep = (max - min)/10
FOR I = 0 TO 10
LINE (0, ystep * I) - (10, ystep * I), 7
LINE (I, min) - (I, max), 7
NEXT
PSET (0, SGAM(0)), 15
PSET (0, A(0)), 1
PSET (0, B(0)), 4
PSET (0, C(0)), 2
FOR I = 1 TO 10
LINE (I - 1, SGAM(I - 1)) - (I, SGAM(I)), 15
LINE (I - 1, A(I - 1)) - (I, A(I)), 1
LINE (I - 1, B(I - 1)) - (I, B(I)), 4
LINE (I - 1, С(I - 1)) - (I, C(I)), 2
NEXT
part3 = 2 * gammid/(1 - (1 - garnmid) * EXP(-alpha * mmid))
A(I) = sigx * (part1 + part2 - part3)
REM m
m = stm * I
part1 = (gammid * (1 +(1 - gammid) * EXP(-alpha * taumid))/((2 - -gammid) * (1 - (1 - gammid) * EXP(-alpha * taumid))) + 1)
part2 = kmid * gammid * (1 + (1 - gammid) * EXP(-alpha * m * *taumid))/((2 - gammid) * (1 - (1 - gammid) * EXP(-alpha * m * taumid)))
part3 = 2 * gammid/(1 - (1 - gammid) * EXP(-alpha * m))
B(I) = sigx *(part1 + part2 - part3)
REM tau
tau = sttau * I
part1 = (gammid * (1 + (1 - gammid) * EXP(-alpha * tau))/((2 - -gammid)
* (1 - (1 - gammid) * EXP(-alpha * tau))) + 1)
part2 = kmid * gammid * (1 + (1 - gammid) * EXP(-alpha * mmid * * tau))/((2 - gammid) * (1 - (1 - gammid) * EXP(-alpha * mmid * tau)))
part3 = 2 * gammid/(1 - (1 - gammid) * EXP(-alpha * mmid))
С(I) = sigx * (part1 + part2 - part3)
NEXT
PRINT
PRINT " N from G from К from M from Tau"
PRINT "_________________________________________ "
FOR I = 0 TO 10
PRINT USING "##"; I;
PRINT USING "###### . #####"; SGAM(I); A(I); B(I); C(I)
NEXT
max = С (0)
min = C(0)
FOR I= 0 TO 10
IF max < SGAM(I) THEN
max = SGAM(I)
END IF
IF max < A(I) THEN
max = A(I)
END IF
IF max < В(I) THEN
max = В (I)
END IF
IF max < С(I) THEN
max = С (I)
END IF
IF min > SGAM(I) THEN
min = SGAM(I)
END IF
IF min > A(I) THEN
min = A(I)
END IF
IF min > В(I) THEN
min = В (I)
END IF
“
ФЛТ ЭС” – расчет фильтра скользящего среднего DECLARE SUB center (row%,
text$) 'Вывод строки на зкран, выровненной по центру
DIM КХ(1000), KY(1000), A(10)
cnt % = 0
2CLS
COLOR 15
center 1
, “ ******************************************* ”
COLOR 9
5 center 2
, “ **** Расчет фильтра скользящего среднего **** “
COLOR 12
center 3
, “ ******************************************* ”
6 COLOR 10
PRINT
center 6, "Введите следующие параметры"
PRINT
PRINT
COLOR 7
PRINT "1. К - параметр, характеризующий амплитуду помехи:";: COLOR 11: INPUT "", К
COLOR7
PRINT "2. М - параметр, харак-щий частотный спектр помехи:";: COLOR 11: INPUT "", М
COLOR 7
PRINT "3. А - коэффициент экспоненты: ";: COLOR 11: INPUT"", А
COLOR 7
PRINT "4. S - дисперсия полезного сигнала: ";: COLOR 11: INPUT "", S
COLOR 7
PRINT "5. L - период опроса датчика: ";: COLOR 11: INPUT"", L
COLOR 7
PRINT
PRINT "Решение определяем на интервале ( В, С )"
PRINT "Используем метод половинного деления"
PRINT "Точность метода равна N"
PRINT
PRINT "6. В - левая граница отрезка: ";: COLOR 11: INPUT "", В
COLOR 7
PRINT "2. С - правая граница отрезка: ";: COLOR 11: INPUT "", С
COLOR 7
PRINT "3. N
- точность расчета:
“;: COLOR 11: INPUT"", N
PRINT
30 GOTO 80
40 LET P(1) = EXP(-A*T*L)
42 LET P(2) = EXP(-A * L)
44 LET P(3) = EXP(A * L)
46 LET P(4) = EXP(-A * M * T * L)
48 LET P(5) = EXP(-A * M * L)
50 LET P(6) = EXP(A * M * L)
52 LET Q(1) = (1 - P(2)) * (P(5) - 1) * (P(6) - 1)
54 LET Q(2) = 2 * (P(2) - 1) * (P(3) - 1) * (P(5) - 1) * (P(6) - 1)
56 LET Q(3) = К * (P(2) – 1) * (P(3) - 1) * (1 - P(2))
58 LET P(7) = 2 * T
^ 2 * A * L * P(1) + 4 * T * P(1)
60 LET P(8) = T
^ 2 * P(2) + T
^ 2 * P{3) - 4 * T
62 LET P(9) = 2 * T
^ 2 * A * M * L * P(4) - 4 * T
64 LET Q(4) = T
^ 2 * P(5) + T
^ 2 * P(6) + 4 * T * P(4)
68 LET F(1) = Q(1)* (P(7) - P(8))
70 LET F(2) = Q(2) * (T * A * L * P(1) - 1 * P(1)) * T
^ 2
72 LET F(3) = Q(3) * (P(9) - Q(4))
74 DEF FNA (T) = F(1) - F(2) + F(3)
76 RETURN
80 LET T = В
90 GOSUB 40
100 LET F1 = FNA(T)
110 LET T = С
120 GOSUB 40
130 LET F2 = FNA(T)
140 LET D = (C + B)/2
145 LET T = D
150 GOSUB 40
160 LET F3 = FNA(T)
170 IF ABS(F3) <= N THEN 230
180 IF (SGN(F1) - SGN(F2)) = 0 THEN 210
190 LET C = D
200 GOTO 110
210 LET B = D
220 GOTO 80
230 GOTO 250
250 LET T = D
260 LET S(1) = 2 + T * P(2) - T * P(3) - 2 * P(1)
270 LET S(2) = T
^ 2 * (P(2) - 1) * (P(3) - 1)
280 LET S(3) = 2 * (1 -P(1))
290 LET S(4) = T * (1 - P(2))
300 LET S(5) = К * (2 + T * P(5) - T * P(6) - 2 * P(4))
310 LET S(6) = T
^ 2 * (P(5) - 1) * (P(6) - 1)
320 LET SO = S * (1 + S(1) / S(2) - S(3) / S(4) + S(5) / S(6))
330 PRINT "Интервал усреднения N(ext)=", T
335 PRINT "Дисперсия фильтра S(ext)=", S0
340 END
'Center:
' Center text on the given row.
SUB center (row%, text$)
LOCATE row %, 41 - LEN(text$) / 2
PRINT text$;
END SUB
"АСУТП KORF" - расчет статистических характеристик стационарных случайных процессов: математического ожидания, дисперсии и корреляционной функции program korf;
uses crt;
const
n=223;
n1=20;
var
f: text;
st: string;
K,R,S,M,D: REAL;
STROC, I, J, G: INTEGER;
X, T: ARRAY [1..400] OF REAL;
begin
CLRSCR;
writeln (‘СТАТИСТИЧЕСКИЕ ХАРАКТЕРИСТИКИ СЛУЧАЙНОГО ПРОЦЕССА');
write ('Введите имя файла с данными: ');
readln(st);
assigN(f, st);
reset(f);
S: =0;
FOR I: =l TO N DO
begin
readln (f, X[I]);
S: =S+X[I];
end;
M: =S/n;
writeln (' МАТЕМАТИЧЕСКОЕ ОЖИДАНИЕ M=' , m:5:8);
D: =0;
FOR I: =l TO N DO
begin
X[I]: = X[I] - M;
D: = D + X[I] * X[I] / (N - 1) ;
end;
writeln(' ДИСПЕРСИЯ D=' , d:5:8);
readln;
writeln(' ЗНАЧЕНИЯ КОРРЕЛЯЦИОННОЙ ФУНКЦИИ ');
writeln;
writeln (' ЧИСЛО ШАГОВ ДИСКРЕ- ' ,'КОРРЕЛЯЦИОННАЯ ', ' НОРМИРОВАННАЯ');
writeln ('ТИЗАЦИИ МЕЖДУ СЕЧЕ- ', ' ФУНКЦИЯ СЛ. ', ' КОРРЕЛЯЦИОННАЯ');
writeln ('НИЯМИ СЛУЧАЙНОГО ', ' ПРОЦЕССА ', ' ФУНКЦИЯ');
writeln (' ПРОЦЕССА ');
writeln;
writeln (' J ', ' К ' ,
! R ' ) ;
writeln (' _______________________________________________’);
writeln (' О ', D:5:8, ' ',
' 1 ');
STROC: =15;
FOR J: =l TO 20 DO
begin
G: =N-J;
K: =0;
FOR I: =l TO G DO
K: =K+X[I]*X[I+J];
T[J]: =K/G;
R: =T[J]/D;
writeln (' ', J, ‘ ‘,T[J]:5:8, ' ',
' R:5:8 ');
end;
IF STROC =24 THEN
REPEAT
UNTIL KEYPRESSED;
STROC: =STROC +1;
CLOSE(F);
READLN;
END.
"АСУТП KORF" - расчет статистических характеристик стационарных случайных процессов: математического ожидания, дисперсии и корреляционной функции 25 PRINT "СТАТИСТИЧЕСКИЕ ХАРАКТЕРИСТИКИ СЛУЧАЙНОГО ПРОЦЕССА "
30 PRINT
40 READ n, n1
50 DIM x(310), t (50)
60 s = 0
70 FOR i = 1 TO n
80 READ x(i)
90 s = s + x(i)
100 NEXT i
110 M = s / n
120 PRINT " МАТЕМАТИЧЕСКОЕ ОЖИДАНИЕ М="; М
140 d = 0
150 FOR i = 1 TO n
160 x(i) = x(i) - M
170 d = d + x(i) * x(i) / (n - 1)
180 NEXT i
190 PRINT " ДИСПЕРСИЯ D="; d
210 PRINT
220 PRINT " ЗНАЧЕНИЯ КОРРЕЛЯЦИОННОЙ ФУНКЦИИ "
222 PRINT
224 PRINT"ЧИСЛО ШАГОВ ДИСКРЕ-","КОРРЕЛЯЦИОННАЯ"," НОРМИРОВАННАЯ"
225 PRINT "ТИЗАЦИИ МЕЖДУ СЕЧЕ-", " ФУНКЦИЯ СЛ. ", " КОРРЕЛЯЦИОННАЯ"
226 PRINT "НИЯМИ СЛУЧАЙНОГО ", " ПРОЦЕССА ", " ФУНКЦИЯ"
227 PRINT " ПРОЦЕССА "
228 PRINT
230 PRINT " J ", " К ", " R "
232 PRINT "______________________________________________"
235 PRINT " 0 ", ; " "; d, , " "; " 1 "
240 FOR J = 0 TO 20
250 G = n - J
260 k = 0
270 FOR i = 1 TO G
280 k = k + x(i) * x(i + J)
290 NEXT i
300 t(J) = k / G
310 R = t(J) / d
320 PRINT " "; USING "##"; J + 1;
PRINT " ";
PRINT USING "################# . ######"; t(J); R
330 NEXT J
340 GOTO 400
350 DATA 170, 20
352 DATA 160, 160.5, 161.6, 161.1, 160.9, 160.6, 159.5, 159.8, 160.5, 160.2, 159.8
354 DATA 160.6, 160.7, 160.8, 161.8, 163.1, 163.9, 163.5, 161.2, 161.4, 161, 160.8
356 DATA 160.5, 160.6, 160.2, 161, 161.9, 160.7, 159.5, 159.3, 158.3, 156.3, 156
358 DATA 157.1, 157.3, 158.8, 160, 161.1, 160.7, 157.7, 157.2, 158.9, 160, 161
360 DATA 158.7, 158.6, 159.8, 160.9, 159.6, 158.4, 157.8, 159.4, 160.9, 161.7, 160
362 DATA 157.7, 157, 157.9, 158.3, 158.7, 159, 159.4, 160.8, 161, 162, 161.5, 159.8
364 DATA 159.3, 159.4, 160, 158.9, 158.5, 158, 159, 159.6, 160.6, 160.9, 161, 161.7
366 DATA 160.8, 160.4, 159.9, 159.6, 159, 158, 157.9, 158, 158.6, 159, 159.6, 160
368 DATA 161, 160.5, 160.35, 159.2, 158.8, 158, 159.2, 160, 160, 160.4, 162.3, 163
370 DATA 161.7, 161.1, 160.5, 159.6, 159, 158.8, 158, 158.2, 158.5, 159, 159.6, 160
372 DATA 159.7, 159, 158.5, 159.2, 160, 161, 162, 162.5, 162, 161, 160, 159.3, 158.8
374 DATA 159, 159.7, 161, 161.8, 160.5, 160, 159, 158, 159.1, 159.9, 160, 160.9, 161
37 6 DATA 160.2, 159.5, 158.2, 159, 159.6, 161.5, 162, 161, 160, 159, 158.5, 158
378 DATA 160.7, 161.6, 161.9, 161.2, 160.8, 160.2, 159.5, 159, 158.4, 159.6, 160
399 PRINT
400 REM построение
PRINT
500 REM подготовка к построению
REM поиск мин фун Т( )
min = d: max = d
FOR i = 0 TO n1
IF min > t (i) THEN min = t(i): positMin = i
NEXT i
REM подготовка коэфициэнтов
maxx = positMin: IF maxx < nl THEN maxx = maxx + 1
minx = 0
maxy = max
miny = min
REM подготовка массива
maxx = maxx + 1
FOR i = maxx TO 1 STEP -1
t(i) = t(i - 1)
NEXT i
t(0) = d
REM расчет массштаба
mashX = 630 / (maxx - minx)
mashy = 460 / (maxy - miny)
REM поиск касательной
dy = t (0) - t (1)
i = 0
DO
dyold = dy
i = i + 1
dy = t(i) - t(i + 1)
LOOP WHILE dyold < dy
dy = dyold
REM расчет касательной
b = i * dy + t (i)
k = -dy
REM вывод уравнения касательной
PRINT "Уравнение касательной: Y="; k; "*Х+"; Ь; "т. ( "; i; ","; t(i); ")"
PRINT
PRINT "ГРАФИК КОРРЕЛЯЦИОННОЙ ФУНКЦИИ...";
G$ = ""
WHILE G$ =""
G$ = INKEY$
WEND
REM подготовка экрана
CLS
SCREEN 12
REM координатные оси
tmpy = (maxy - 0) * mashy
LINE (0, tmpy) - (640, tmpy)
LINE (0
f 0) - (0, 480)
REM построение
pointsx = (0 - minx) * mashX
pointsy = (maxy - t(0)) * mashy
FOR i = 1 TO maxx
pointx = (i - minx) * mashX
pointy = (maxy - t(i)) * mashy
LINE (pointsx, pointsy) - (pointx, pointy)
PSET (pointsx, pointsy), 4
pointsx = pointx: pointsy = pointy
NEXT i
REM построение касательной
i = 0
pointsx = (i - minx) * mashX
pointsy = (maxy - b) * mashy
FOR i = 1 TO maxx STEP .25
pointx = (i - minx) * mashX
pointy = (maxy - k * i - b) * mashy
IF ((pointy > 1) AND (pointy < 480)) AND ((pointsy > 0) AND (pointsy< <479)) THEN LINE (pointsx, pointsy) - (pointx, pointy)
pointsx = pointx: pointsy = pointy
NEXT i
END