.n Статистическая связь двух переменных
.a 
.d 33333
.s
* Расширение "Статистическая связь двух переменных"
Расширение предназначено для формирования базовых данных, необходимых для простейшего исследования статистической связи двух переменных. Оно позволяет: 
- рассчитать коэффициент корреляции двух переменных;
- построить уравнение линейной регрессии;
- табулировать значения уравнения линейной регрессии для фактических значений аргумента;
- получить данные по отклонениям линейной регрессии от фактических значений;
- получить графическое представление точек фактических данных и уравнения линейной регрессии;
- строить тестовые массивы данных, равномерно разбросанных вокруг аналитически заданного тренда;
- строить уравнения степенной и экспоненциальной регрессии.   

Расширение требует наличия файлов x_s1.api, x_s1.php, x_s1.txt, x_s2.api, x_s2.php, x_s2.txt, (не входят в базовую комплектацию).

**Функция s2()
Функция s2(x,y[,p]) возвращает массив, содержащий элементы:
- kk - коэффициент корреляции переменных;
- a - свободный член уравнения линейной регрессии y на x;
- b - коэффициент при независимой переменной уравнения линейной регрессии y на x;
- r2 - значение коэффициента R-квадрат; 
- ulr - текстовое представление уравнения регрессии.
- gxy - имя файла, содержащего изображение, представляющее фактические данные и значения, рассчитанные в соответствии с уравнением регрессии. 

Если параметр p=0 (значение по умолчанию), то элемент gxy в массив не включается. Если p>1, то функция не только возвращает массив указанных выше значений, но и выводит график из данного файла на страницу. Вывод графика возможен только в том случае, если в системе установлено расширение !dok/x_grafik.s (не входит в базовую комплектацию).  

Параметры x и y могут быть строками, содержащими разделённые пробелами фактические значения в формате [ключ:]значение или уже готовыми одномерными массивами.

''Разметка'/
/
 ~x=massiv("1 2 3 4 5 6 7")
 ~y=massiv("2.4 3.7 6.2 7.7 10.5 12.2 13.7")
 ~u=s2(x,y)
 @vms(u)
/
''Вывод'/
~x=massiv("1 2 3 4 5 6 7")
~y=massiv("2.4 3.7 6.2 7.7 10.5 12.2 13.7")
~u=s2(x,y)
@vms(u)

То же самое, но с выводом графика:
''Разметка'/
/
 ~u=s2(x,y,2)
 @vms(u)
/
''Вывод'/
~u=s2(x,y,2)
@vms(u)

Полученные данные можно вывести и более изящно, используя возможности системы. Например:
''Разметка'/
/
 ~u=s2(x,y,1)
 @nt(1)
 @nst(1)
 @td(u('ulr'),2)
 @kst()
 @st(1,'Свободный член',u('a'))
 @st(1,'Наклон прямой',u('b'))
 @st(1,'Коэффициент корреляции',u('kk'))
 @st(1,'R-квадрат',u('r2'))
 @kt()
 @vis(u('gxy'))
/
''Вывод'/
~u=s2(x,y,1)
@nt(1)
@nst(1)
@td(u('ulr'),2)
@kst()
@st(1,'Свободный член',u('a'))
@st(1,'Наклон прямой',u('b'))
@st(1,'Коэффициент корреляции',u('kk'))
@st(1,'R-квадрат',u('r2'))
@kt()
@vis(u('gxy'))

**Функция s2td - формирование тестовых данных 
Детальное описание в процессе разработки

s2td(formula,xmin,xmax,po,kz)

**Функция s2ur - одновременное построение линейной, степенной и экспоненциальной регрессии
Детальное описание в процессе разработки
s2ur(vx,vy,p)

::Линейный тест
''Разметка'/
 ~t=s2td('2+0.3*x',0,10,30,50)
 ~l=s2ur(t('x'),t('y'))
''Вывод'/
~t=s2td('2+0.3*x',0,10,30,50)
~l=s2ur(t('x'),t('y'))

::Экспоненциальный тест
''Разметка'/
 ~t=s2td('2*exp(x*0.1)',0,10,30,50)
 ~e=s2ur(t('x'),t('y'))
''Вывод'/
~t=s2td('2*exp(x*0.1)',0,10,30,50)
~e=s2ur(t('x'),t('y'))

::Степенной тест
''Разметка'/
 ~t=s2td('2*pow(x,0.2)',0,10,30,50)
 ~s=s2ur(t('x'),t('y'))
''Вывод'/ 
~t=s2td('2*pow(x,0.2)',0,10,30,50)
~s=s2ur(t('x'),t('y'))