fprintf('\n\n\n\n\n\n\n\n\n==================================================');
fprintf('\n======================rho======================');
fprintf('\n======================rho======================');
fprintf('\n======================rho======================');
fprintf('\n==================================================\n\n\n\n\n\n\n\n\n');

%% Table 1：Replicate Section 3 of the Paper
clear;  clc;  close

load("rho5\data\Baseline.mat");
Case1_rho5 = Case1;
Case2_rho5 = Case2;
Case3_rho5 = Case3;
Case4_rho5 = Case4;

load("rho7\data\Baseline.mat");
Case1_rho7 = Case1;
Case2_rho7 = Case2;
Case3_rho7 = Case3;
Case4_rho7 = Case4;

load("rho9\data\Baseline.mat");
Case1_rho9 = Case1;
Case2_rho9 = Case2;
Case3_rho9 = Case3;
Case4_rho9 = Case4;

wel = [Case1_rho5.wel_c; Case1_rho5.wel_u; ...
       Case2_rho5.wel_c; Case2_rho5.wel_u; ...
       Case3_rho5.wel_c; Case3_rho5.wel_u; ...
       Case4_rho5.wel_c; Case4_rho5.wel_u; ...
       Case1_rho7.wel_c; Case1_rho7.wel_u; ...
       Case2_rho7.wel_c; Case2_rho7.wel_u; ...
       Case3_rho7.wel_c; Case3_rho7.wel_u; ...
       Case4_rho7.wel_c; Case4_rho7.wel_u; ...
       Case1_rho9.wel_c; Case1_rho9.wel_u; ...
       Case2_rho9.wel_c; Case2_rho9.wel_u; ...
       Case3_rho9.wel_c; Case3_rho9.wel_u; ...
       Case4_rho9.wel_c; Case4_rho9.wel_u];
Pi = [Case1_rho5.Pi_c; Case1_rho5.Pi_u; ...
      Case2_rho5.Pi_c; Case2_rho5.Pi_u; ...
      Case3_rho5.Pi_c; Case3_rho5.Pi_u; ...
      Case4_rho5.Pi_c; Case4_rho5.Pi_u; ...
      Case1_rho7.Pi_c; Case1_rho7.Pi_u; ...
      Case2_rho7.Pi_c; Case2_rho7.Pi_u; ...
      Case3_rho7.Pi_c; Case3_rho7.Pi_u; ...
      Case4_rho7.Pi_c; Case4_rho7.Pi_u; ...
      Case1_rho9.Pi_c; Case1_rho9.Pi_u; ...
      Case2_rho9.Pi_c; Case2_rho9.Pi_u; ...
      Case3_rho9.Pi_c; Case3_rho9.Pi_u; ...
      Case4_rho9.Pi_c; Case4_rho9.Pi_u];
M = [Case1_rho5.M_c; Case1_rho5.M_u; ...
     Case2_rho5.M_c; Case2_rho5.M_u; ...
     Case3_rho5.M_c; Case3_rho5.M_u; ...
     Case4_rho5.M_c; Case4_rho5.M_u; ...
     Case1_rho7.M_c; Case1_rho7.M_u; ...
     Case2_rho7.M_c; Case2_rho7.M_u; ...
     Case3_rho7.M_c; Case3_rho7.M_u; ...
     Case4_rho7.M_c; Case4_rho7.M_u; ...
     Case1_rho9.M_c; Case1_rho9.M_u; ...
     Case2_rho9.M_c; Case2_rho9.M_u; ...
     Case3_rho9.M_c; Case3_rho9.M_u; ...
     Case4_rho9.M_c; Case4_rho9.M_u];
w = [Case1_rho5.w_c; Case1_rho5.w_u; ...
     Case2_rho5.w_c; Case2_rho5.w_u; ...
     Case3_rho5.w_c; Case3_rho5.w_u; ...
     Case4_rho5.w_c; Case4_rho5.w_u; ...
     Case1_rho7.w_c; Case1_rho7.w_u; ...
     Case2_rho7.w_c; Case2_rho7.w_u; ...
     Case3_rho7.w_c; Case3_rho7.w_u; ...
     Case4_rho7.w_c; Case4_rho7.w_u; ...
     Case1_rho9.w_c; Case1_rho9.w_u; ...
     Case2_rho9.w_c; Case2_rho9.w_u; ...
     Case3_rho9.w_c; Case3_rho9.w_u; ...
     Case4_rho9.w_c; Case4_rho9.w_u];
P = [Case1_rho5.P_c; Case1_rho5.P_u; ...
     Case2_rho5.P_c; Case2_rho5.P_u; ...
     Case3_rho5.P_c; Case3_rho5.P_u; ...
     Case4_rho5.P_c; Case4_rho5.P_u; ...
     Case1_rho7.P_c; Case1_rho7.P_u; ...
     Case2_rho7.P_c; Case2_rho7.P_u; ...
     Case3_rho7.P_c; Case3_rho7.P_u; ...
     Case4_rho7.P_c; Case4_rho7.P_u; ...
     Case1_rho9.P_c; Case1_rho9.P_u; ...
     Case2_rho9.P_c; Case2_rho9.P_u; ...
     Case3_rho9.P_c; Case3_rho9.P_u; ...
     Case4_rho9.P_c; Case4_rho9.P_u];

result = reshape([round(wel,2),round(Pi,2),round(M,2),round(w,2),round(P,2)],[24,5]);
Table1 = array2table(result, 'VariableNames', {'福利', '商品利润', '数据利润', '工资', '价格指数'});
writetable(Table1, '表III1.xlsx', 'WriteVariableNames', true);

fprintf('\n=================================================================\n');
fprintf('         表III1 同数据中间商市场结构以及不同数据政策下的福利\n');
fprintf('=================================================================\n\n');
disp(Table1); 

%% Table 2：Replicate Section 4 of the Paper
clear;  clc;  close
load("rho5\data\Counterfactual_TariffUnilateral_UC.mat");
Case1_rho5_UC = Case1;
Case2_rho5_UC = Case2;
Case3_rho5_UC = Case3;
Case4_rho5_UC = Case4;

load("rho5\data\Counterfactual_TariffUnilateral_CU.mat");
Case1_rho5_CU = Case1;
Case2_rho5_CU = Case2;
Case3_rho5_CU = Case3;
Case4_rho5_CU = Case4;

load("rho7\data\Counterfactual_TariffUnilateral_UC.mat");
Case1_rho7_UC = Case1;
Case2_rho7_UC = Case2;
Case3_rho7_UC = Case3;
Case4_rho7_UC = Case4;

load("rho7\data\Counterfactual_TariffUnilateral_CU.mat");
Case1_rho7_CU = Case1;
Case2_rho7_CU = Case2;
Case3_rho7_CU = Case3;
Case4_rho7_CU = Case4;

load("rho9\data\Counterfactual_TariffUnilateral_UC.mat");
Case1_rho9_UC = Case1;
Case2_rho9_UC = Case2;
Case3_rho9_UC = Case3;
Case4_rho9_UC = Case4;

load("rho9\data\Counterfactual_TariffUnilateral_CU.mat");
Case1_rho9_CU = Case1;
Case2_rho9_CU = Case2;
Case3_rho9_CU = Case3;
Case4_rho9_CU = Case4;

opt_rho5 = [Case1_rho5_CU.t_cu_opt; Case1_rho5_UC.t_uc_opt; ...
       Case2_rho5_CU.t_cu_opt; Case2_rho5_UC.t_uc_opt; ...
       Case3_rho5_CU.t_cu_opt; Case3_rho5_UC.t_uc_opt; ...
       Case4_rho5_CU.t_cu_opt; Case4_rho5_UC.t_uc_opt];
wel_rho5 = [Case1_rho5_CU.wel_c_opt; Case1_rho5_UC.wel_u_opt; ...
       Case2_rho5_CU.wel_c_opt; Case2_rho5_UC.wel_u_opt; ...
       Case3_rho5_CU.wel_c_opt; Case3_rho5_UC.wel_u_opt; ...
       Case4_rho5_CU.wel_c_opt; Case4_rho5_UC.wel_u_opt];

opt_rho7 = [Case1_rho7_CU.t_cu_opt; Case1_rho7_UC.t_uc_opt; ...
       Case2_rho7_CU.t_cu_opt; Case2_rho7_UC.t_uc_opt; ...
       Case3_rho7_CU.t_cu_opt; Case3_rho7_UC.t_uc_opt; ...
       Case4_rho7_CU.t_cu_opt; Case4_rho7_UC.t_uc_opt];
wel_rho7 = [Case1_rho7_CU.wel_c_opt; Case1_rho7_UC.wel_u_opt; ...
       Case2_rho7_CU.wel_c_opt; Case2_rho7_UC.wel_u_opt; ...
       Case3_rho7_CU.wel_c_opt; Case3_rho7_UC.wel_u_opt; ...
       Case4_rho7_CU.wel_c_opt; Case4_rho7_UC.wel_u_opt];

opt_rho9 = [Case1_rho9_CU.t_cu_opt; Case1_rho9_UC.t_uc_opt; ...
       Case2_rho9_CU.t_cu_opt; Case2_rho9_UC.t_uc_opt; ...
       Case3_rho9_CU.t_cu_opt; Case3_rho9_UC.t_uc_opt; ...
       Case4_rho9_CU.t_cu_opt; Case4_rho9_UC.t_uc_opt];
wel_rho9 = [Case1_rho9_CU.wel_c_opt; Case1_rho9_UC.wel_u_opt; ...
       Case2_rho9_CU.wel_c_opt; Case2_rho9_UC.wel_u_opt; ...
       Case3_rho9_CU.wel_c_opt; Case3_rho9_UC.wel_u_opt; ...
       Case4_rho9_CU.wel_c_opt; Case4_rho9_UC.wel_u_opt];

result = reshape([round(opt_rho5,2),round(wel_rho5,2),round(opt_rho7,2),round(wel_rho7,2),round(opt_rho9,2),round(wel_rho9,2)],[8,6]);
Table2 = array2table(result, 'VariableNames', {'关税_rho5', '福利_rho5', '关税_rho7', '福利_rho7', '关税_rho9', '福利_rho9'});
writetable(Table2, '表III2.xlsx', 'WriteVariableNames', true);

fprintf('\n=================================================================\n');
fprintf('         表III2 稳健性检验：不同原始数据权重下的最优关税与福利\n');
fprintf('=================================================================\n\n');
disp(Table2); 

%% Table 3
clear;  clc;  close
load("rho5\data\Counterfactual_TariffNash.mat");
Case1_rho5_Nash = Case1;
Case2_rho5_Nash = Case2;
Case3_rho5_Nash = Case3;
Case4_rho5_Nash = Case4;

load("rho7\data\Counterfactual_TariffNash.mat");
Case1_rho7_Nash = Case1;
Case2_rho7_Nash = Case2;
Case3_rho7_Nash = Case3;
Case4_rho7_Nash = Case4;

load("rho9\data\Counterfactual_TariffNash.mat");
Case1_rho9_Nash = Case1;
Case2_rho9_Nash = Case2;
Case3_rho9_Nash = Case3;
Case4_rho9_Nash = Case4;


opt_rho5 = [Case1_rho5_Nash.t_cu_opt; Case1_rho5_Nash.t_uc_opt; ...
       Case2_rho5_Nash.t_cu_opt; Case2_rho5_Nash.t_uc_opt; ...
       Case3_rho5_Nash.t_cu_opt; Case3_rho5_Nash.t_uc_opt; ...
       Case4_rho5_Nash.t_cu_opt; Case4_rho5_Nash.t_uc_opt];
wel_rho5 = [Case1_rho5_Nash.wel_c; Case1_rho5_Nash.wel_u; ...
       Case2_rho5_Nash.wel_c; Case2_rho5_Nash.wel_u; ...
       Case3_rho5_Nash.wel_c; Case3_rho5_Nash.wel_u; ...
       Case4_rho5_Nash.wel_c; Case4_rho5_Nash.wel_u];

opt_rho7 = [Case1_rho7_Nash.t_cu_opt; Case1_rho7_Nash.t_uc_opt; ...
       Case2_rho7_Nash.t_cu_opt; Case2_rho7_Nash.t_uc_opt; ...
       Case3_rho7_Nash.t_cu_opt; Case3_rho7_Nash.t_uc_opt; ...
       Case4_rho7_Nash.t_cu_opt; Case4_rho7_Nash.t_uc_opt];
wel_rho7 = [Case1_rho7_Nash.wel_c; Case1_rho7_Nash.wel_u; ...
       Case2_rho7_Nash.wel_c; Case2_rho7_Nash.wel_u; ...
       Case3_rho7_Nash.wel_c; Case3_rho7_Nash.wel_u; ...
       Case4_rho7_Nash.wel_c; Case4_rho7_Nash.wel_u];

opt_rho9 = [Case1_rho9_Nash.t_cu_opt; Case1_rho9_Nash.t_uc_opt; ...
       Case2_rho9_Nash.t_cu_opt; Case2_rho9_Nash.t_uc_opt; ...
       Case3_rho9_Nash.t_cu_opt; Case3_rho9_Nash.t_uc_opt; ...
       Case4_rho9_Nash.t_cu_opt; Case4_rho9_Nash.t_uc_opt];
wel_rho9 = [Case1_rho9_Nash.wel_c; Case1_rho9_Nash.wel_u; ...
       Case2_rho9_Nash.wel_c; Case2_rho9_Nash.wel_u; ...
       Case3_rho9_Nash.wel_c; Case3_rho9_Nash.wel_u; ...
       Case4_rho9_Nash.wel_c; Case4_rho9_Nash.wel_u];

result = reshape([round(opt_rho5,2),round(wel_rho5,2),round(opt_rho7,2),round(wel_rho7,2),round(opt_rho9,2),round(wel_rho9,2)],[8,6]);
Table3 = array2table(result, 'VariableNames', {'关税_rho5', '福利_rho5', '关税_rho7', '福利_rho7', '关税_rho9', '福利_rho9'});
writetable(Table3, '表III3.xlsx', 'WriteVariableNames', true);

fprintf('\n=================================================================\n');
fprintf('         表III3 不同数据中间商市场结构以及不同数据政策下的纳什关税与福利\n');
fprintf('=================================================================\n\n');
disp(Table3); 
