Mercurial > hg > medcouple
annotate talk/code/showalgo.m @ 66:916349600c4b
algorithm-visualisation code
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Wed, 18 May 2016 17:03:43 -0400 |
parents | |
children | 1aa38f4846e0 |
rev | line source |
---|---|
66
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
1 H = load("H"); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
2 L = load("L") + 1; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
3 R = load("R") + 1; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
4 P = load("P") + 1; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
5 Q = load("Q") + 1; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
6 Ptot = load("Ptotal"); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
7 Qtot = load("Qtotal"); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
8 remaining = load("remaining"); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
9 mc = load("mc"); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
10 jackpot = load("jackpot"); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
11 Am = load("Am"); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
12 Am(end+1) = mc; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
13 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
14 colidx = 1:columns(H); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
15 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
16 origH = repmat((H+1)/2, 1, 1, 3); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
17 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
18 for iter = 1:length(Am) |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
19 ## Reset the image |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
20 imgH = origH; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
21 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
22 ## Make greater-than red |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
23 red = imgH(:,:,1); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
24 red(colidx < L(iter, :)') = 1; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
25 imgH(:, :, 1) = red; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
26 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
27 ## Make less-than blue |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
28 blue = imgH(:,:,3); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
29 blue(colidx > R(iter, :)') = 1; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
30 imgH(:, :, 3) = blue; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
31 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
32 imshow(imgH); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
33 pause |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
34 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
35 ## Make the guess yellow |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
36 [i,j] = find(Am(iter) == H); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
37 imgH(i,j,1) = imgH(i,j,2) = 1; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
38 imgH(i,j,3) = 0; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
39 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
40 imshow(imgH); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
41 pause |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
42 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
43 if iter == length(Am) |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
44 break; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
45 endif |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
46 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
47 ## Check the left side |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
48 imgLeft = imgH; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
49 red = imgH(:, :, 1); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
50 green = imgH(:, :, 2); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
51 blue = imgH(:, :, 3); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
52 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
53 idx = colidx > P(iter,:)'; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
54 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
55 ## Brighten blue |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
56 blue(idx) = 1; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
57 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
58 ## Dim red and green |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
59 red(idx) .*= 0.5; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
60 green(idx) .*= 0.5; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
61 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
62 imgLeft(:,:,2) = green; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
63 imgLeft(:,:,3) = blue; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
64 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
65 ## Make the guess yellow again |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
66 [i,j] = find(Am(iter) == H); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
67 imgH(i,j,1) = imgH(i,j,2) = 1; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
68 imgH(i,j,3) = 0; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
69 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
70 imshow(imgLeft); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
71 pause |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
72 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
73 ## Check the right side |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
74 imgRight = imgH; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
75 red = imgH(:, :, 1); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
76 green = imgH(:, :, 2); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
77 blue = imgH(:, :, 3); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
78 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
79 idx = colidx < Q(iter,:)'; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
80 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
81 ## Brighten red |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
82 blue(idx) = 1; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
83 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
84 ## Dim blue and green |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
85 blue(idx) .*= 0.5; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
86 green(idx) .*= 0.5; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
87 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
88 imgRight(:,:,2) = green; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
89 imgRight(:,:,3) = blue; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
90 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
91 ## Make the guess yellow again |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
92 [i,j] = find(Am(iter) == H); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
93 imgH(i,j,1) = imgH(i,j,2) = 1; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
94 imgH(i,j,3) = 0; |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
95 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
96 imshow(imgRight); |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
97 pause |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
98 |
916349600c4b
algorithm-visualisation code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
99 endfor |