% Clear the workspace
clear all;
% Parameters
R = 5000;
numNumbersValues = [100, 200, 300, 400, 500];
thetaStar = 2;
% Initialize mean squared error (MSE) array
MSEMean = [];
% Loop over different numbers of values
for numNumbers = numNumbersValues
% Initialize array to store Theta_Dash_N values
thetaDashNList = zeros(1, R);
% Loop for R iterations
for r = 1:R
% Generate random values for Theta_k
thetaKList = thetaStar + (rand(1, numNumbers) - 0.5);
% Calculate Theta_Dash_N and store it
thetaDashNList(r) = mean(thetaKList);
end
% Calculate mean squared error for each iteration
MSE = (thetaDashNList - thetaStar).^2;
% Calculate and store the mean of MSE values
MSEMean(end + 1) = mean(MSE);
end
% True values for comparison
trueValues = 1 ./ (12 * numNumbersValues);
% Plotting the results
scatter(numNumbersValues, trueValues, 60,'MarkerEdgeColor',[0 0.5 0],'MarkerFaceColor',[0 0.7 0],'LineWidth',1.5);
hold on;
grid on;
scatter(numNumbersValues, MSEMean, 40,'MarkerEdgeColor',[1 .6 0],'MarkerFaceColor',[1 .8 0],'LineWidth',1.5);
legend("True Values", "Estimated Values", 'FontSize' , 14);
xlabel("Number of Values",'FontSize' , 14);
ylabel("Mean Squared Error",'FontSize' , 14);
title(['MSE vs. Number of Values for R = ', num2str(R)],'FontSize' , 14);