Rank: 224 based on 363 downloads (last 30 days) and 14 files submitted
photo

Wolfgang Schwanghart

E-mail
Company/University
University of Postdam

Personal Profile:
Professional Interests:
GIS, Physical Geography, Hydrology

 

Watch this Author's files

 

Files Posted by Wolfgang View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
09 Jan 2013 Screenshot Experimental (Semi-) Variogram calculate the isotropic and anisotropic experimental (semi-) variogram Author: Wolfgang Schwanghart geostatistics, spatial modelling, variogram, dimensions, kriging, earth science 70 40
  • 4.93333
4.9 | 17 ratings
14 Oct 2010 Screenshot Ordinary Kriging 2D-interpolation using geostatistics Author: Wolfgang Schwanghart geostatistics, variogram, kriging 79 10
  • 3.875
3.9 | 8 ratings
14 Oct 2010 Screenshot variogramfit fits different theoretical variograms to an experimental variogram Author: Wolfgang Schwanghart variogram, geostatistics, spatial statistics, kriging, optimization, statistics 52 23
  • 5.0
5.0 | 8 ratings
13 Jul 2010 Screenshot Line Simplification Recursive Douglas-Peucker Polyline Simplification (Iterative Endpoint Fit) Author: Wolfgang Schwanghart approximation, interpolation, polyline, vertex reduction, mathematics, approximations 49 10
  • 5.0
5.0 | 3 ratings
21 Sep 2009 Screenshot cropmat crop arrays with axis-aligned minimum bounding box Author: Wolfgang Schwanghart matrix manipulation, matrix, image processing 10 0
  • 2.0
2.0 | 1 rating
Comments and Ratings by Wolfgang View all
Updated File Comments Rating
26 Apr 2014 Find Network Components Find network components, sizes, and lists of member nodes. Author: Daniel Larremore

Hi, you might also want to take a look at Tim Davis' function find_components: http://www.mathworks.com/matlabcentral/fileexchange/21366-find-components
find_components uses the builtin function dmperm to find connected components.

26 Feb 2014 variogramfit fits different theoretical variograms to an experimental variogram Author: Wolfgang Schwanghart

@Roque Santos: Hi, see here: http://blogs.mathworks.com/community/2010/12/13/citing-file-exchange-submissions/

06 Jan 2014 variogramfit fits different theoretical variograms to an experimental variogram Author: Wolfgang Schwanghart

@Roque Santos: thanks for your comment. Please check the documentation for varargin here: http://www.mathworks.de/de/help/matlab/ref/varargin.html

06 Dec 2013 Experimental (Semi-) Variogram calculate the isotropic and anisotropic experimental (semi-) variogram Author: Wolfgang Schwanghart

@JG: Yes, [x y] can also be a nx1 vector with n number of points in time. Use datenum to calculate a numeric vector from your dates. Variogram doesn't do the conversion for you.

25 Nov 2013 Experimental (Semi-) Variogram calculate the isotropic and anisotropic experimental (semi-) variogram Author: Wolfgang Schwanghart

@JG: This syntax is correct. Take care, however, if latitude and longitude refer to geographic coordinates... The function doesn't calculate distances on a sphere.

Comments and Ratings on Wolfgang's Files View all
Updated File Comment by Comments Rating
09 Apr 2014 Experimental (Semi-) Variogram calculate the isotropic and anisotropic experimental (semi-) variogram Author: Wolfgang Schwanghart Carlos

Wolfgang,

Thanks for this awesome submission. It was very helpful. I however have a questions..

On line 165 you perform the following operation

edges(end) = inf;

Can you explain the logic behind it?

The reason that I ask it that when the data is uniformly distributed in space the number of data pairs separated by a lag (h) decreases as h increases.

However, as written line 165 then makes later lines (l78 and 179)

S.val = accumarray(ixedge,...
lam,[numel(edges) 1],fvar,nan);

S.num = accumarray(ixedge,ones(size(lam))...
,[numel(edges) 1],@sum,nan);

Calculate the gamma value and the number of pairs using the the rest of the data set. You then do a final modification of the arrays but that does eliminate the extra data poins used int he Variogram calculation..

Let me give you an example.

My edges vector before line 165

250 500 750 1000 1250 1500 1750 2000 2250 2500 2750 3000

My edges vector after line 165

250 500 750 1000 1250 1500 1750 2000 2250 2500 2750 Inf

Then on lines
178,179 and 186, 187

you produce the S.distance,S.num and S.val struct arrays

This is what the S.distance says:

625
875
1125
1375
1625
1875
2125
2375
2625
2875

Then this is what the S.num says:

41
40
39
38
37
36
35
34
33
32
31
59

You see That 59 should not be there there are no 59 number of data pairs with an average lag distance of 2875. In fact there are only 30.

If I comment line 165 then I get the expected result of monotonically decreasing number of pairs as lag distance increases.

Let me know what you think...

Carlos Soto

04 Mar 2014 Experimental (Semi-) Variogram calculate the isotropic and anisotropic experimental (semi-) variogram Author: Wolfgang Schwanghart Wong, kaiba

Fantastic code - just what I needed. However, I am trying to modify it a bit for cross-variogram. Can I do it this way: save the
lam = (y(iid(:,1))-y(iid(:,2)));
for two separate variable (say A and B) Combine=bsxfun(@times, lamA,lamB);
Combine_cross = accumarray([ixedge ixtheta],Combine,...
[21 7],fvar,nan);
Combine_cross(:,end)=Combine_cross(:,1);

Is this approach correct?
Thanks

26 Feb 2014 variogramfit fits different theoretical variograms to an experimental variogram Author: Wolfgang Schwanghart Schwanghart, Wolfgang

@Roque Santos: Hi, see here: http://blogs.mathworks.com/community/2010/12/13/citing-file-exchange-submissions/

23 Feb 2014 variogramfit fits different theoretical variograms to an experimental variogram Author: Wolfgang Schwanghart Santos, Roque

Hello friend,
I used your code in a job (Masters), wanted to know how do I quote your code.
I await
Hug!

25 Jan 2014 Experimental (Semi-) Variogram calculate the isotropic and anisotropic experimental (semi-) variogram Author: Wolfgang Schwanghart Zoltán

Hi Wolfgang!

Thank you for this, it is a very good one!

Could you please explain me, where is your algorithm calculate the separation (or lag) vector(h). Theoretically, if I am calculating a variogram, I use this formula:

gamma^2(h)=(1/2N(h))*sum(f(u+h)-f(u))^2

Did you used the same? If yes, how do you calculated h? (in which row?)

Thank you!

Zoltán

Contact us