LisaPizzoExercises/Sheet6/r_adapt.m

12 lines
349 B
Matlab

function xnew = r_adapt(x,eta_elem)
N = length(x);
w = abs(eta_elem) + 1e-10; %error based monitor function
s = zeros(N,1);
for i = 2:N
s(i) = s(i-1) + w(i-1); %cumulative sum % LP
% s(i) = s(i-1) + w(i); %cumulative sum % GH
end
s = s / s(end); % normalize to [0,1]
s_new = linspace(0,1,N)';
xnew = interp1(s, x, s_new, 'linear');
end