ywf =fitresultLow(sort(xw));
up_indices = find(diff(ywf) > 0);
down_indices = find(diff(ywf) < 0);
up_regions = [up_indices(1)];
for i = 2:length(up_indices)
if up_indices(i) > up_indices(i-1) + 1
up_regions = [up_regions, up_indices(i)];
if ~isempty(down_indices)
down_regions = [down_indices(1)];
for i = 2:length(down_indices)
if down_indices(i) > down_indices(i-1) + 1
down_regions = [down_regions, down_indices(i)];
regions = sort([up_regions, down_regions]);
lower_y_coordinate = min(Nu);
for k = 1:2:length(regions) - 1
xrng = regions(k):regions(k + 1);
patch([xw1(xrng), flip(xw1(xrng))], [Nu(xrng)' ones(size(Nu(xrng)')) * lower_y_coordinate], 'r', 'FaceAlpha', 0.5);
fill([xw1(1), xw1(end), xw1(end), xw1(1)], [lower_y_coordinate, lower_y_coordinate, lower_y_coordinate, lower_y_coordinate], 'r', 'FaceAlpha', 0.5);