计算方差我已经在序言作了功能: -在序言
mean(L, M) :-
sum(L, S),
length(L, N),
M is S/N.
sum([],0).
sum([H|T],Y):-
sum(T,X),
Y is X + H.
variance([],0).
variance([H|T], M, VO):-
variance(T,M,Y),
VO is(Y + ((H-M)*(H-M))).
statsList(L, M, V1) :-
sum(L, S),
length(L, N),
M is S/N,
variance(L, M, VO),
V1 is V0/N.
由于某种原因,当我试图计算它总是回答“假” 为使方差:方差([1,2, 3,2,VO)或statsList([1,2,3],男,VO)
但是,如果我用这只是为了测试它的工作原理:
variance([],0).
variance([H|T], VO):-
variance(T,Y),
VO is(Y + ((H-2)*(H-2))).
有人能告诉我在哪儿我错了吗?