noecho # speed of light data set # assume observations are iid t(10, mu, sigma) # prior for (mu, sigma) proportional to 1/sigma # column 'x' is mu, 'y' is log sigma, # output column 'f' gives values of log posterior # NOTE: columns 'data', 'x', 'y', 'f' should be already defined name c91 'df' c92 's2' let 'df'=10 set 'data' 28 26 33 24 34 -44 27 16 40 -2 29 22 24 21 25 30 23 29 31 19 24 20 36 32 36 28 25 21 28 29 37 25 28 26 30 32 36 26 30 22 36 23 27 27 28 27 31 27 26 33 26 32 32 24 39 28 24 25 32 25 29 27 28 29 16 23 let k92=count('data') let 's2'=exp(2*'y') let 'f'=0*'x' store 'temp'; replace. let k91=k91+1 let 'f'='f'+log(1+('data'(k91)-'x')**2/'s2'/'df') end let k91=0 exec 'temp' k92 let 'f'=-k92*'y'-('df'+1)/2*'f'