N = 1000;
samples = zeros(1, N);
count = 1;
while count <= N
x = -log(rand());
s = rand();
if s < 0.5
x = -x;
end
u = rand();
if (abs(x)-1)^2 <= -2 * log(u)
samples(count) = x;
count = count + 1;
end
end
% Generate histograms for different numbers of bins
num_bins = [10, 15, 25, 50, 75, 100];
for i = 1:length(num_bins)
figure;
histogram(samples, num_bins(i));
title(['Histogram with ', num2str(num_bins(i)), ' bins']);
end