Physics307L F08:People/Mondragon/Poisson/Notebook/20090513
Ok, for better results, I switched to using a 4000 by 4000 matrix to simulate the first counting experiment.
The first matrix table1_3 represents 4000 trails of 4000 counting experiments were the average number of counts in each counting experiment (or whatever the [math]\displaystyle{ \lambda }[/math] in [math]\displaystyle{ f(k; \lambda)=\frac{\lambda^k e^{-\lambda}}{k!},\,\! }[/math] means) is 1.3 ([math]\displaystyle{ \lambda = 1.3 }[/math]). Each row is a a trail run. If the entry on row [math]\displaystyle{ r }[/math] and column [math]\displaystyle{ c }[/math] is [math]\displaystyle{ x }[/math], then counting experiment [math]\displaystyle{ c }[/math] in trail run [math]\displaystyle{ r }[/math] had a count of [math]\displaystyle{ x }[/math] events.
The rows of histy are the histograms of each corresponding trail run. I ran the bins for this one out to 50, since even at [math]\displaystyle{ \lambda = 9 }[/math], the max count in the 4000 by 4000 matrix above should be around 26 or so. Rows represent the test run, columns represent how many times a count of [math]\displaystyle{ column number - 1 }[/math] happened in that trail run. histy should be 4000 by 51. If the entry on row [math]\displaystyle{ r }[/math] and column [math]\displaystyle{ c }[/math] is [math]\displaystyle{ x }[/math], then there was [math]\displaystyle{ x }[/math] occurrences of a count of [math]\displaystyle{ c - 1 }[/math] in trail run [math]\displaystyle{ r }[/math].
The rows of histyy are histograms of the results in histy. If the entry on row [math]\displaystyle{ r }[/math] and column [math]\displaystyle{ c }[/math] is [math]\displaystyle{ x }[/math], then there was [math]\displaystyle{ x }[/math] trail runs were a count of [math]\displaystyle{ r- 1 }[/math] happened [math]\displaystyle{ c-1 }[/math] times.
it is histyy that I am really interested in. It should show what trends values in a Poisson plots tend to take. As I thought, values near [math]\displaystyle{ \lambda }[/math] have a Gaussian spread and values far from [math]\displaystyle{ \lambda }[/math] have a Poisson spread.
diary
octave:2> diary on octave:3> load table1_3.asc octave:4> who *** dynamically linked functions: builtin:find builtin:max builtin:min dispatch *** currently compiled functions: findstr ispc pkg split strrep fullfile isscalar repmat strcat *** local user variables: __nargin__ table1_3 octave:5> maxbin = max(max(table1_3)) maxbin = 10 octave:6> minbin = min(min(table1_3)) minbin = 0 octave:7> t=poissrnd(5,50,50); octave:8> max(max(t)) ans = 15 octave:9> t=poissrnd(5,50,50); octave:10> max(max(t)) ans = 14 octave:11> t=poissrnd(9,50,50); octave:12> max(max(t)) ans = 20 octave:13> t=poissrnd(9,50,50); octave:14> max(max(t)) ans = 19 octave:15> t=poissrnd(9,50,50); octave:16> max(max(t)) ans = 23 octave:17> t=poissrnd(10,50,50); octave:18> max(max(t)) ans = 24 octave:19> t=poissrnd(10,50,50); octave:20> max(max(t)) ans = 22 octave:21> t=poissrnd(10,50,50); octave:22> max(max(t)) ans = 22 octave:23> t=poissrnd(10,50,50); octave:24> max(max(t)) ans = 24 octave:25> t=poissrnd(10,50,50); octave:26> max(max(t)) ans = 25 octave:27> t=poissrnd(10,50,50); octave:28> max(max(t)) ans = 22 octave:29> ok, 30 error: `ok' undefined near line 29 column 1 octave:29> bins=0:30; octave:30> for i=1:500 > [histx(i,:), histy(i,:)] = hist(table1_3),bins); parse error: syntax error >>> [histx(i,:), histy(i,:)] = hist(table1_3),bins); ^ octave:30> for i=1:500 > [histx(i,:), histy(i,:)] = hist(table1_3),bins)); parse error: syntax error >>> [histx(i,:), histy(i,:)] = hist(table1_3),bins)); ^ octave:30> [histx(i,:), histy(i,:)] = hist((table1_3),bins); error: number of columns must match (1 != 1500) error: evaluating argument list element number 1 error: evaluating if command near line 100, column 3 error: called from `hist' in file `/usr/share/octave/3.0.0/m/plot/hist.m' octave:30> for i=1:500 > [histx(i,:), histy(i,:)] = hist((table1_3),bins); > end error: number of columns must match (1 != 1500) error: evaluating argument list element number 1 error: evaluating if command near line 100, column 3 error: called from `hist' in file `/usr/share/octave/3.0.0/m/plot/hist.m' error: evaluating for command near line 30, column 1 octave:30> for i=1:500 > [histx(i,:), histy(i,:)] = hist((table1_3(i,:)),bins); > end octave:31> plot usage: plot (y) plot (x, y, ...) plot (x, y, fmt, ...) plot (x, y, property, value, ...) error: evaluating if command near line 28, column 3 error: called from `__plt__' in file `/usr/share/octave/3.0.0/m/plot/__plt__.m' error: evaluating assignment expression near line 187, column 9 error: called from `plot' in file `/usr/share/octave/3.0.0/m/plot/plot.m' octave:31> plot(histx(1,:),histy(2,:)) octave:32> bar(histx(1,:), histy(1,:)) error: bar: x vector values must be in ascending order error: evaluating if command near line 108, column 3 error: called from `__bar__' in file `/usr/share/octave/3.0.0/m/plot/__bar__.m' error: called from `bar' in file `/usr/share/octave/3.0.0/m/plot/bar.m' octave:32> bar( histy(1,:)) octave:33> histy histy = octave:34> bar( histx(1,:)) octave:35> bar( histx(51,:)) octave:36> for 1:500 parse error: syntax error >>> for 1:500 ^ octave:36> for i=1:500 > bar( histx(i,:)) > end octave:37> histx(64,:) ans = Columns 1 through 13: 390 553 332 159 52 12 2 0 0 0 0 0 0 Columns 14 through 26: 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 27 through 31: 0 0 0 0 0 octave:38> histx(:,1) ans = octave:39> bar(histx(:,1)) octave:40> ooooooo that looks like its possibly gaussian, just as I thought it would parse error: syntax error >>> ooooooo that looks like its possibly gaussian, just as I thought it would ^ octave:40> max(histx(:,1)) ans = 462 octave:41> min(histx(:,1)) ans = 351 octave:42> hist(histx(:,1), 351:462) octave:43> size(table1_3) ans = 1500 1500 octave:44> oops error: `oops' undefined near line 44 column 1 octave:44> for i=1:1500 > histy(i,:) = hist((table1_3(i,:)),bins); > end octave:45> max(histy(:,1)) ans = 470 octave:46> min(histy(:,1)) ans = 341 octave:47> hist(histy(:,1), 341:470) octave:48> table1_3 = poissrnd(1.3,4000,4000); octave:49> for i=1:4000 > end octave:50> maxbin = max(max(table1_3)) maxbin = 10 octave:51> minbin = min(min(table1_3)) minbin = 0 octave:52> bins = 0:50; octave:53> for i=1:4000 > histy(i,:) = hist((table1_3(i,:)),bins); > end error: A(IDX-LIST) = X: X must be a scalar or size of X must equal number of elements indexed by IDX-LIST error: assignment failed, or no method for `matrix = matrix' error: evaluating assignment expression near line 54, column 12 error: evaluating for command near line 53, column 1 octave:53> histy(56,:) = hist((table1_3(56,:)),bins); error: A(IDX-LIST) = X: X must be a scalar or size of X must equal number of elements indexed by IDX-LIST error: assignment failed, or no method for `matrix = matrix' error: evaluating assignment expression near line 53, column 13 octave:53> table1_3 = poissrnd(1.3,3000,3000); octave:54> histy(56,:) = hist((table1_3(56,:)),bins); error: A(IDX-LIST) = X: X must be a scalar or size of X must equal number of elements indexed by IDX-LIST error: assignment failed, or no method for `matrix = matrix' error: evaluating assignment expression near line 54, column 13 octave:54> bins bins = Columns 1 through 20: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Columns 21 through 40: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 Columns 41 through 51: 40 41 42 43 44 45 46 47 48 49 50 octave:55> histy(56,:) = hist((table1_3(56,:),bins); parse error: syntax error >>> histy(56,:) = hist((table1_3(56,:),bins); ^ octave:55> histy(56,:) = hist(table1_3(56,:),bins); error: A(IDX-LIST) = X: X must be a scalar or size of X must equal number of elements indexed by IDX-LIST error: assignment failed, or no method for `matrix = matrix' error: evaluating assignment expression near line 55, column 13 octave:55> histy(56,:) = hist(table1_3(56,:)); error: A(IDX-LIST) = X: X must be a scalar or size of X must equal number of elements indexed by IDX-LIST error: assignment failed, or no method for `matrix = matrix' error: evaluating assignment expression near line 55, column 13 octave:55> table1_3(56,:) ans = octave:56> size(table1_3) ans = 3000 3000 octave:57> is 3000 by 3000 just too big? parse error: syntax error >>> is 3000 by 3000 just too big? ^ octave:57> table1_3 = poissrnd(1.3,2000,2000); octave:58> histy(56,:) = hist(table1_3(56,:)); error: A(IDX-LIST) = X: X must be a scalar or size of X must equal number of elements indexed by IDX-LIST error: assignment failed, or no method for `matrix = matrix' error: evaluating assignment expression near line 58, column 13 octave:58> table1_3 = poissrnd(1.3,1500,1500); octave:59> histy(56,:) = hist(table1_3(56,:)); error: A(IDX-LIST) = X: X must be a scalar or size of X must equal number of elements indexed by IDX-LIST error: assignment failed, or no method for `matrix = matrix' error: evaluating assignment expression near line 59, column 13 octave:59> histy(56) = hist(table1_3(56,:)); error: A(I) = X: X must be a scalar or a matrix with the same size as I error: assignment failed, or no method for `matrix = matrix' error: evaluating assignment expression near line 59, column 11 octave:59> hist(table1_3(56,:)); octave:60> ans ans = 3000 3000 octave:61> x=hist(table1_3(56,:)); octave:62> x x = 451 516 320 151 46 0 13 2 0 1 octave:63> x(56)=hist(table1_3(56,:)); error: A(I) = X: X must be a scalar or a vector with same length as I error: assignment failed, or no method for `matrix = matrix' error: evaluating assignment expression near line 63, column 6 octave:63> x(56,:)=hist(table1_3(56,:)); octave:64> histy(56,:)=hist(table1_3(56,:)); error: A(IDX-LIST) = X: X must be a scalar or size of X must equal number of elements indexed by IDX-LIST error: assignment failed, or no method for `matrix = matrix' error: evaluating assignment expression near line 64, column 12 octave:64> clear all octave:65> clear -all octave:66> who *** dynamically linked functions: dispatch *** currently compiled functions: pkg *** local user variables: __nargin__ octave:67> table1_3 = poissrnd(1.3,4000,4000); octave:68> x(56,:)=hist(table1_3(56,:)); octave:69> histy(56,:)=hist(table1_3(56,:)); octave:70> memory was cluttered? parse error: syntax error >>> memory was cluttered? ^ octave:70> clear all octave:71> table1_3 = poissrnd(1.3,4000,4000); octave:72> for i=1:4000 > histy(i,:)=hist(table1_3(i,:),0:50); > end octave:73> bins = 0:50; octave:74> save -text table1_3.asc table1_3 histy bins octave:75> min(histy(:,1)) ans = 993 octave:76> max(histy(:,1)) ans = 1186 octave:77> hist(histy(:,1),993:1186) octave:78> max(max(histy)) ans = 1527 octave:79> min(min(histy)) ans = 0 octave:80> size(histy) ans = 4000 51 octave:81> for i = bins > histyy(i,:)=hist(histy(:,i),0:2000); > end error: invalid column index = 0 error: evaluating argument list element number 1 error: evaluating assignment expression near line 82, column 12 error: evaluating for command near line 81, column 1 octave:81> for i = bins+1 > histyy(i,:)=hist(histy(:,i),0:2000); > end octave:82> bar(histyy(1,:),0:2000) error: bar: x vector values must be in ascending order error: evaluating if command near line 108, column 3 error: called from `__bar__' in file `/usr/share/octave/3.0.0/m/plot/__bar__.m' error: called from `bar' in file `/usr/share/octave/3.0.0/m/plot/bar.m' octave:82> bar(0:2000,histyy(1,:)) octave:83> bar(0:2000,histyy(2,:)) octave:84> bar(0:2000,histyy(3,:)) octave:85> bar(0:2000,histyy(9,:)) octave:86> axis([0,10]) octave:87> bar(0:2000,histyy(7,:)) octave:88> axis([0,10]) octave:89> axis([0,30]) octave:90> save -text table1_3.asc table1_3 histy bins histyy octave:91> clear histyy octave:92> who *** dynamically linked functions: builtin:find builtin:min gnuplot_binary regexp builtin:kron cellfun issparse sort builtin:max dispatch randp *** currently compiled functions: __bar__ diff lower __bars__ drawnow newplot __gnuplot_version__ findstr patch __go_draw_axes__ gca pkg __go_draw_figure__ gcf poissrnd __next_line_color__ hist rem __patch__ image_viewer repmat __plt_get_axis_arg__ isa split ancestor ismember str2num axes isscalar strcat axis isstr strcmpi bar isvector xor compare_versions logical *** local user variables: __nargin__ ans bins histy i table1_3 octave:93> bins2 = 0:2500; octave:94> for i = bins+1 > histyy(i,:)=hist(histy(:,i),bars2); > end error: `bars2' undefined near line 95 column 29 error: evaluating argument list element number 2 error: evaluating assignment expression near line 95, column 12 error: evaluating for command near line 94, column 1 octave:94> for i = bins+1 > histyy(i,:)=hist(histy(:,i),bins2); > end octave:95> save -text table1_3.asc table1_3 histy bins histyy bins2 octave:96> size(histyy) ans = 51 2501 octave:97> [xx,yy]=meshgrid(bins, bins2); octave:98> mesh(xx,yy,histyy) error: surface: x, y, and z must have same dimensions error: evaluating if command near line 114, column 7 error: evaluating if command near line 106, column 5 error: evaluating if command near line 76, column 3 error: called from `surface:__surface__' in file `/usr/share/octave/3.0.0/m/plot/surface.m' error: called from `surface' in file `/usr/share/octave/3.0.0/m/plot/surface.m' error: evaluating assignment expression near line 37, column 7 error: called from `mesh' in file `/usr/share/octave/3.0.0/m/plot/mesh.m' octave:98> [xx,yy]=meshgrid(bins2, bins); octave:99> size(xx) ans = 51 2501 octave:100> mesh(xx,yy,histyy) octave:101> octave:101> diary off
important excerpts
octave:71> table1_3 = poissrnd(1.3,4000,4000); octave:72> for i=1:4000 > histy(i,:)=hist(table1_3(i,:),0:50); > end octave:73> bins = 0:50; octave:93> bins2 = 0:2500; octave:94> for i = bins+1 > histyy(i,:)=hist(histy(:,i),bins2); > end