1:- use_module(library(mcintyre)). 2
3:- if(current_predicate(use_rendering/1)). 4:- use_rendering(c3). 5:- endif. 6:- mc. 7:- begin_lpad. 8
9mvg(G):gaussian(G,[0,0],[[1,0.6],[0.6,2]]).
10
11mvg1(_,G):gaussian(G,[M1,M2],[[1,0.6],[0.6,2]]):-
12 mean(1,M1),
13 mean(2,M2).
14
15mean(_,M):gaussian(M,0,1).
16
17mvg2(_,G):gaussian(G,[0,0],[[1,0.6],[0.6,2]]).
18mvg3(G):gaussian(G,[0,0,0],[[2,-1,0],[-1,2,-1],[0,-1,2]]).
19:- end_lpad. 20
21chart(Chart):-
22 mc_sample_arg_first(mvg(G),1000,G,V),
23 maplist(val,V,ValList),
24 Chart = c3{data:_{x:x, rows:[x-y|ValList], type:scatter},
25 legend:_{show: false},
26 axis:_{ x:_{ tick:_{fit:false}}}}.
27
28val([X,Y]-_,X-Y).
29
30obs(L):-
31 mc_lw_sample_arg(mvg1(1,G),mvg1(1,[1,1]),2,G,L).
32
33gv3(L):-
34 mc_sample_arg_first(mvg3(G),10,G,L).
?-
chart(G)
. ?-obs(L)
. ?-gv3(L)
. */