1 | function [H_new ny]=update_hyperstate(H_old, ny) |
---|
2 | H_new=zeros(size(H_old)); |
---|
3 | H_new(1,:,:)=H_old(1,:,:); |
---|
4 | next_u=zeros(1,size(ny,2)); |
---|
5 | |
---|
6 | %generate trajectories |
---|
7 | for j=1:size(H_old,2) |
---|
8 | eta=H_old(1,j,1); |
---|
9 | beta=H_old(1,j,2); |
---|
10 | best_control=-ny(1,j); |
---|
11 | |
---|
12 | for i=1:size(H_old,1)-1 |
---|
13 | s=randn; |
---|
14 | pom=sqrt(1+best_control^2); |
---|
15 | eta=abs(eta+beta*best_control+pom*s); |
---|
16 | beta=abs(pom*beta+best_control*s); |
---|
17 | H_new(i+1,j,:)=[eta beta]; |
---|
18 | if i+1<size(H_old,1) |
---|
19 | index=find_in_hyperstate5([eta beta],H_old(i+1,:,:)); |
---|
20 | best_control=-ny(i,index); |
---|
21 | end |
---|
22 | end |
---|
23 | end |
---|
24 | |
---|
25 | %make box |
---|
26 | pom=zeros(size(H_new,2),2); |
---|
27 | for i=2:size(H_new,1) |
---|
28 | pom(:,:)=H_new(i,:,:); |
---|
29 | [H_new(i,:,:)]=make_box3(pom); %rovnomerne rozmisti body v zasazenem regionu |
---|
30 | plot(H_new(i,:,1), H_new(i,:,2),'b.' ); hold on; plot(pom(:,1),pom(:,2), 'g.' ); plot(H_old(i,:,1),H_old(i,:,2), 'r.' ); hold off |
---|
31 | end |
---|
32 | |
---|
33 | %kopirovani stareho ny* do H_new |
---|
34 | for i=2:size(H_new,1) |
---|
35 | for j=1:size(H_new,2) |
---|
36 | pom(1,:)=H_new(i,j,:); |
---|
37 | index=find_in_hyperstate5(pom,H_old(i,:,:)); |
---|
38 | next_u(j)=ny(i,index); |
---|
39 | end |
---|
40 | ny(i,:)= next_u; |
---|
41 | end |
---|
42 | |
---|
43 | %vypis(:,:)=H_new(:,:,1); |
---|
44 | %save 'eta2.txt' vypis -ASCII; |
---|
45 | %vypis(:,:)=H_new(:,:,2); |
---|
46 | %save 'Beta2.txt' vypis -ASCII; |
---|
47 | % save 'ny2.txt' ny -ASCII; |
---|
48 | |
---|
49 | end |
---|