[1105] | 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 |
---|