From: alex <aba...@us...> - 2006-12-13 17:21:19
|
Update of /cvsroot/octave/octave-forge/main/optiminterp/inst In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7638/inst Modified Files: example_optiminterp.m optiminterp1.m optiminterp2.m optiminterp3.m Log Message: Improve example and fix typos Index: optiminterp2.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/optiminterp/inst/optiminterp2.m,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- optiminterp2.m 13 Dec 2006 16:56:11 -0000 1.2 +++ optiminterp2.m 13 Dec 2006 17:20:30 -0000 1.3 @@ -31,7 +31,7 @@ ## ## The background field of the optimal interpolation is zero. ## For a different background field, the background field -## must be substracted from the observation, the difference +## must be subtracted from the observation, the difference ## is mapped by OI onto the background grid and finally the ## background is added back to the interpolated field. ## The error variance of the background field is assumed to Index: example_optiminterp.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/optiminterp/inst/example_optiminterp.m,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- example_optiminterp.m 12 Dec 2006 23:29:54 -0000 1.1 +++ example_optiminterp.m 13 Dec 2006 17:20:30 -0000 1.2 @@ -1,6 +1,13 @@ % Example program of the optimal interpolation toolbox +% the grid onto which the observations are interpolated + +[xi,yi] = ndgrid(linspace(0,1,100)); + +% background estimate or first guess +xb = 10 + xi; + % number of observations to interpolate on = 200; @@ -13,15 +20,12 @@ % the underlying function to interpolate -f = sin(6*x) .* cos(6*y); - -% the error variance of the observations - -var = 0.0 * ones(on,1); +yo = 10 + x + sin(6*x) .* cos(6*y); -% the grid onto which the observations are interpolated +% the error variance of the observations divided by the error +% variance of the background field -[xi,yi] = ndgrid(linspace(0,1,100)); +var = 0.1 * ones(on,1); % the correlation length in x and y direction @@ -32,8 +36,17 @@ m = 30; +% subtract the first guess from the observations +% (DON'T FORGET THIS - THIS IS VERY IMPORTANT) + +Hxb = interp2(xi(:,1),yi(1,:),xb',x,y); +f = yo - Hxb; + % run the optimal interpolation % fi is the interpolated field and vari is its error variance [fi,vari] = optiminterp2(x,y,f,var,lenx,leny,m,xi,yi); +% Add the first guess back + +xa = fi + xb; \ No newline at end of file Index: optiminterp1.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/optiminterp/inst/optiminterp1.m,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- optiminterp1.m 13 Dec 2006 16:56:11 -0000 1.2 +++ optiminterp1.m 13 Dec 2006 17:20:30 -0000 1.3 @@ -30,7 +30,7 @@ ## ## The background field of the optimal interpolation is zero. ## For a different background field, the background field -## must be substracted from the observation, the difference +## must be subtracted from the observation, the difference ## is mapped by OI onto the background grid and finally the ## background is added back to the interpolated field. ## @end deftypefn Index: optiminterp3.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/optiminterp/inst/optiminterp3.m,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- optiminterp3.m 13 Dec 2006 16:56:11 -0000 1.2 +++ optiminterp3.m 13 Dec 2006 17:20:30 -0000 1.3 @@ -32,7 +32,7 @@ ## ## The background field of the optimal interpolation is zero. ## For a different background field, the background field -## must be substracted from the observation, the difference +## must be subtracted from the observation, the difference ## is mapped by OI onto the background grid and finally the ## background is added back to the interpolated field. ## |