修订版 | 21 (tree) |
---|---|
时间 | 2010-05-13 20:59:33 |
作者 | (del#42041) |
started to createing samples
@@ -57,6 +57,11 @@ | ||
57 | 57 | Filter a(0.0); |
58 | 58 | a.setNumber(5); |
59 | 59 | a.setDimension(3); |
60 | + a.set_state_func(&func1); | |
61 | + a.set_robserve_func(&func2); | |
62 | + a.set_robserve_jacobian_func(&func3); | |
63 | + a.set_robserve_density_func(func4); | |
64 | + | |
60 | 65 | a.createInitialParticles(); |
61 | 66 | a.create_system_noise(); |
62 | 67 |
@@ -63,13 +68,10 @@ | ||
63 | 68 | // initial value |
64 | 69 | cut_assert_equal_string("(0.000000,0.000000,0.000000)(0.000000,0.000000,0.000000)(0.000000,0.000000,0.000000)(0.000000,0.000000,0.000000)(0.000000,0.000000,0.000000)",a.predict_particles_toString().c_str()); |
65 | 70 | cut_assert_equal_string("(1.163078,0.483805,0.299564)(0.153025,-1.168815,1.558071)(-0.545944,-2.355630,0.541440)(2.678507,1.254634,-0.548774)(-0.681064,-0.135316,0.377231)",a.system_noise_toString().c_str()); |
66 | - a.set_state_func(&func1); | |
67 | 71 | a.get_next_state(); |
68 | 72 | |
69 | 73 | // initial value+system noise |
70 | 74 | cut_assert_equal_string("(1.163078,0.483805,0.299564)(0.153025,-1.168815,1.558071)(-0.545944,-2.355630,0.541440)(2.678507,1.254634,-0.548774)(-0.681064,-0.135316,0.377231)",a.predict_particles_toString().c_str()); |
71 | - a.set_robserve_func(&func2); | |
72 | - a.set_robserve_jacobian_func(&func3); | |
73 | 75 | Particles<double> y(5,3); |
74 | 76 | Particle<double> x(3); |
75 | 77 | x[0]=0.1; x[1]=-1.1; x[2]=1.5; |
@@ -79,7 +81,6 @@ | ||
79 | 81 | } |
80 | 82 | a.set_observed_data(y); |
81 | 83 | cut_assert_equal_double(-1.06308,1e-4,a.get_observed_noise(0)); |
82 | - a.set_robserve_density_func(func4); | |
83 | 84 | cut_assert_equal_double(1.14882e-24,1e-5,a.get_robserved_density_value(-1.06308)); |
84 | 85 | a.compute_likelihood(); |
85 | 86 | a.resampling(); |
@@ -0,0 +1,15 @@ | ||
1 | +#include <MersenneTwister.h> | |
2 | +#include <filter.h> | |
3 | +int main() | |
4 | +{ | |
5 | + Filter track; | |
6 | + MTRand mtrand; | |
7 | + mtrand.seed(time(NULL)); | |
8 | + double y; | |
9 | + for(int i=0;i<100;++i) | |
10 | + { | |
11 | + y = i<25?1:i<50?0:i<75?-1:1; | |
12 | +cout<<y<<endl; | |
13 | + | |
14 | + } | |
15 | +} | |
\ No newline at end of file |
@@ -0,0 +1,19 @@ | ||
1 | +CC=@CC@ | |
2 | +CXX=@CXX@ | |
3 | +SRCS=step.cc | |
4 | +OBJS=$(SRCS:.cc=.o) | |
5 | +HEADS=$(SRCS:.cc=.h) | |
6 | +TARGETS=$(SRCS:.cc=) | |
7 | +AR=@AR@ | |
8 | +CFLAGS=-I. -g -Wall -I../src | |
9 | +LDFLAGS=-L../lib -lparticle | |
10 | +all: $(TARGETS) | |
11 | + | |
12 | +step: $(OBJS) | |
13 | + $(CXX) -o $@ $@.o $(LDFLAGS) | |
14 | + | |
15 | +.cc.o: $(HEADS) $(SRCS) | |
16 | + $(CXX) $(CFLAGS) -c $< | |
17 | + | |
18 | +clean: | |
19 | + rm -f *.o *.a *~ *.lo *.la *.so |
@@ -0,0 +1,19 @@ | ||
1 | +CC=gcc | |
2 | +CXX=g++ | |
3 | +SRCS=step.cc | |
4 | +OBJS=$(SRCS:.cc=.o) | |
5 | +HEADS=$(SRCS:.cc=.h) | |
6 | +TARGETS=$(SRCS:.cc=) | |
7 | +AR=ar | |
8 | +CFLAGS=-I. -g -Wall -I../src | |
9 | +LDFLAGS=-L../lib -lparticle | |
10 | +all: $(TARGETS) | |
11 | + | |
12 | +step: $(OBJS) | |
13 | + $(CXX) -o $@ $@.o $(LDFLAGS) | |
14 | + | |
15 | +.cc.o: $(HEADS) $(SRCS) | |
16 | + $(CXX) $(CFLAGS) -c $< | |
17 | + | |
18 | +clean: | |
19 | + rm -f *.o *.a *~ *.lo *.la *.so |
@@ -3,7 +3,14 @@ | ||
3 | 3 | all: |
4 | 4 | cd src && $(MAKE) |
5 | 5 | |
6 | -.PHONY: test | |
6 | +install: | |
7 | + cp src/libparticle.* lib/ | |
8 | + | |
9 | +.PHONY: test sample | |
10 | + | |
11 | +sample: | |
12 | + cd sample && $(MAKE) | |
13 | + | |
7 | 14 | test: |
8 | 15 | cd test && $(MAKE) |
9 | 16 |
@@ -25,5 +25,5 @@ | ||
25 | 25 | AC_SUBST(CC) |
26 | 26 | AC_SUBST(CXX) |
27 | 27 | AC_SUBST(LDFLAGS) |
28 | -AC_OUTPUT(Makefile src/Makefile test/Makefile) | |
28 | +AC_OUTPUT(Makefile src/Makefile test/Makefile sample/Makefile) | |
29 | 29 |