diff --git a/Analysis of FAR via CS/I.mat b/Analysis of FAR via CS/I.mat new file mode 100644 index 0000000..c52e1b8 Binary files /dev/null and b/Analysis of FAR via CS/I.mat differ diff --git a/Analysis of FAR via CS/Main.m b/Analysis of FAR via CS/Main.m new file mode 100644 index 0000000..1f3bc9e --- /dev/null +++ b/Analysis of FAR via CS/Main.m @@ -0,0 +1,43 @@ +cache = true; + +if cache + load("I.mat"); +else + tau_min = 0; + tau_max = 10; + tau_interval = 0.1; + tau_range = tau_min:tau_interval:tau_max; + + s_b_min = 1; + s_b_max = 32; + s_b_range = s_b_min:s_b_max; + + result = zeros(1, 32); + + m = 4; + + I = zeros(length(tau_range), 0); + + for tau_idx = 1:length(tau_range) + tau = tau_range(tau_idx); + I(tau_idx) = calc_int(tau, m); + end + +end + +%% + +for s_b_idx = 1:length(s_b_range) + s_b = s_b_range(s_b_idx); + f_set = zeros(length(tau_range), 1); + + for tau_idx = 1:length(tau_range) + tau = tau_range(tau_idx); + f_set(tau_idx) = s_b * (1 + tau ^ 2) + (100 - s_b) * I(tau_idx); + end + + t = min(f_set); + result(s_b_idx) = t; +end + +plot(s_b_range, result); diff --git a/Analysis of FAR via CS/calc_int.m b/Analysis of FAR via CS/calc_int.m new file mode 100644 index 0000000..e667f94 --- /dev/null +++ b/Analysis of FAR via CS/calc_int.m @@ -0,0 +1,11 @@ +function I = calc_int(tau, m) + + if tau < 0 + I = 0; + else + syms x f; + f = (x - tau) ^ 2 * x ^ (m - 1) * exp(-x ^ 2/2) / (2 ^ (m / 2 - 1) * gamma(m / 2)); + I = double(int(f, [tau, +inf])); + end + +end