Subversion Repositories wimsdev

Rev

Rev 20 | Rev 4161 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
20 reyssat 1
!if $wims_read_parm!=slib_header
2
 !goto proc
3
!endif
4
slib_title=Matrix of covariance
5
slib_parms=1\
6
 ,[datax;datay] or [datax],[datay]
7
slib_author=Bernadette PERRIN-RIOU
8
slib_out=first line : matrix of  standart covariance sum((x_i-mean_x)*(y_i-mean_y),i=1,n)/n\
9
 second line : matrix of covariance  sum((x_i-mean_x)*(y_i-mean_y),i=1,n)/(n-1)
10
slib_synomyme =
11
slib_comment=Data  can be recognized under many formats, \
12
 in particular as a matrix.
13
slib_example=[1,2,3];[3,1,9]\
14
[1,2,3;3,1,9]
3265 bpr 15
slib_require=pari
20 reyssat 16
!exit
17
 
18
:proc
19
slib_out=
20
!readproc slib/stat/dataproc $wims_read_parm
21
 
22
!if $slib_y=$empty or $slib_x=$empty
23
 !exit
24
!endif
25
slib_cnt=!itemcnt $slib_x
26
slib_cnty=!itemcnt $slib_y
27
!if $slib_cnt<>$slib_cnty
28
!exit
29
!endif
30
 
31
slib_meanx=!sum x for x in $slib_x
32
slib_meanx=$[($slib_meanx)/$slib_cnt]
33
slib_meany=!sum y for y in $slib_y
34
slib_meany=$[($slib_meany)/$slib_cnt]
35
 
36
slib_varx=!sum (x-($slib_meanx))^2 for x in $slib_x
37
slib_varx=$[$slib_varx]
38
 
39
slib_vary=!sum (y-($slib_meany))^2 for y in $slib_y
40
slib_vary=$[$slib_vary]
41
 
42
slib_covar=!exec pari print(sum(slib_t=1,$slib_cnt,([$slib_x][slib_t]-($slib_meanx))*([$slib_y][slib_t]-($slib_meany))));
43
 
44
slib_out=$[($slib_varx)/$slib_cnt],$[($slib_covar)/$slib_cnt];$[($slib_covar)/$slib_cnt],$[($slib_vary)/$slib_cnt]
45
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
46
 
47