clc; clear; M = 50; eps = 1e-5; delta = 1/3; C = 10.66; nums = 20:0.1:50; len = length(nums); N = zeros(1, len); upper_bound_C1 = zeros(1, len); upper_bound_C2 = zeros(1, len); log_ub_C1 = zeros(1, len); log_ub_C2 = zeros(1, len); for i = 1: len N(i) = 10^nums(i); upper_bound_C1(i) = get_our_ub(1, N(i), C, M, eps); log_ub_C1(i) = log(upper_bound_C1(i)); upper_bound_C2(i) = get_wl_ub(N(i), M, eps); log_ub_C2(i) = log(upper_bound_C2(i)); N(i) = nums(i); end semilogy(N, upper_bound_C1, 'r-', N, upper_bound_C2, 'b'); legend("Our result", "Wang's result"); xlabel("log_{10}(N)"); ylabel("Upper bound of K"); title_name = strcat("Prob(\delta_K < ", string(delta), ") >= 1 - ", string(eps)); title(title_name); [k1, b1] = linefit(N, log_ub_C1); [k2, b2] = linefit(N, log_ub_C2); fprintf("Our result gradient: %f\n", k1); fprintf("Wang's result gradient: %f\n", k2);