I have created a 2D mesher (for lack of a better word?). Its useage is as follows:
xmin = -pi/2;
xmax = +pi/2;
numx = 8;
funx = @(x) sin(x);
xq = varspace(funx,xmin,xmax,numx);
-1.5708 -1.2809 -0.9157 -0.5130 0.5028 0.9363 1.2368 1.5708
I like this example because it illustrates how sin(x) is very linear at x=0 so there is no need to sample this region as much as near the endpoints in the domain.
For the time being, I've accomplished this method of variably sampling x by generating a relative spacing array and tweaking with :
dx = fminsearch(@(m) err(m),ones(1,numx)); diff(xq) == dx
so as to minimize the error between the original @funx and an interpolated interp1(xq,funx(xq),...).
In 2D, this procedure doesn't take forever but I'm wondering if there are resources to accomplishing this task in a more deterministic way. Computing f''(x) and sampling based on this proportion seems like a reasonable solution but I'm betting this question has been answered before, I just can't find the correct phrase to describe it.