Subversion Repositories wimsdev

Rev

Rev 3265 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

!if $wims_read_parm!=slib_header
 !goto proc
!endif
slib_title=Matrix of covariance
slib_parms=1\
 ,[datax;datay] or [datax],[datay]
slib_author=Bernadette PERRIN-RIOU
slib_out=first line : matrix of  standart covariance sum((x_i-mean_x)*(y_i-mean_y),i=1,n)/n\
 second line : matrix of covariance  sum((x_i-mean_x)*(y_i-mean_y),i=1,n)/(n-1)
slib_synomyme =
slib_comment=Data  can be recognized under many formats, \
 in particular as a matrix.
slib_example=[1,2,3];[3,1,9]\
[1,2,3;3,1,9]
!exit

:proc
slib_out=
!readproc slib/stat/dataproc $wims_read_parm

!if $slib_y=$empty or $slib_x=$empty
 !exit
!endif
slib_cnt=!itemcnt $slib_x
slib_cnty=!itemcnt $slib_y
!if $slib_cnt<>$slib_cnty
!exit
!endif

slib_meanx=!sum x for x in $slib_x
slib_meanx=$[($slib_meanx)/$slib_cnt]
slib_meany=!sum y for y in $slib_y
slib_meany=$[($slib_meany)/$slib_cnt]

slib_varx=!sum (x-($slib_meanx))^2 for x in $slib_x
slib_varx=$[$slib_varx]

slib_vary=!sum (y-($slib_meany))^2 for y in $slib_y
slib_vary=$[$slib_vary]

slib_covar=!exec pari print(sum(slib_t=1,$slib_cnt,([$slib_x][slib_t]-($slib_meanx))*([$slib_y][slib_t]-($slib_meany))));

slib_out=$[($slib_varx)/$slib_cnt],$[($slib_covar)/$slib_cnt];$[($slib_covar)/$slib_cnt],$[($slib_vary)/$slib_cnt]
slib_out=!append line $[($slib_varx)/($slib_cnt-1)],$[($slib_covar)/($slib_cnt-1)];$[($slib_covar)/($slib_cnt-1)],$[($slib_vary)/($slib_cnt-1)] to  $slib_out