I would do something like this:
x = -5:0.5:5;
curve = exp(-x.^2);
original_curve_area = trapz(x, curve);
scaled_curve = curve * 200E-9/original_curve_area;
scaled_curve_fcn = @(xi) interp1(x, scaled_curve, xi, 'linear');
xi = 0.33;
yi = scaled_curve_fcn(xi);
figure(1)
plot(x,scaled_curve)
hold on
plot(xi, yi, 'pg', 'MarkerSize',15, 'MarkerFaceColor','g')
hold off
grid
The ‘scaled_curve_fcn’ uses the interpolation function interp1 to calculate the value of the curve for any value that is within the limits of the independent variable. Use it as you would use any other function. There are several interpolation method options available. I use 'linear' here, others may work better for your data. See the documentation on interp1 (link) for details.
Best Answer