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


%% Replicate Section 3 of the Paper
clear;  clc;  close

load("chi5\data\Baseline.mat");
Case1_chi5 = Case1;
Case2_chi5 = Case2;

load("chi7\data\Baseline.mat");
Case1_chi7 = Case1;
Case2_chi7 = Case2;

load("chi9\data\Baseline.mat");
Case1_chi9 = Case1;
Case2_chi9 = Case2;

wel = [Case1_chi5.wel_c; Case1_chi5.wel_u; ...
       Case2_chi5.wel_c; Case2_chi5.wel_u; ...
       Case1_chi7.wel_c; Case1_chi7.wel_u; ...
       Case2_chi7.wel_c; Case2_chi7.wel_u; ...
       Case1_chi9.wel_c; Case1_chi9.wel_u; ...
       Case2_chi9.wel_c; Case2_chi9.wel_u];
Pi = [Case1_chi5.Pi_c; Case1_chi5.Pi_u; ...
      Case2_chi5.Pi_c; Case2_chi5.Pi_u; ...
      Case1_chi7.Pi_c; Case1_chi7.Pi_u; ...
      Case2_chi7.Pi_c; Case2_chi7.Pi_u; ...
      Case1_chi9.Pi_c; Case1_chi9.Pi_u; ...
      Case2_chi9.Pi_c; Case2_chi9.Pi_u];
M = [Case1_chi5.M_c; Case1_chi5.M_u; ...
     Case2_chi5.M_c; Case2_chi5.M_u; ...
     Case1_chi7.M_c; Case1_chi7.M_u; ...
     Case2_chi7.M_c; Case2_chi7.M_u; ...
     Case1_chi9.M_c; Case1_chi9.M_u; ...
     Case2_chi9.M_c; Case2_chi9.M_u];
w = [Case1_chi5.w_c; Case1_chi5.w_u; ...
     Case2_chi5.w_c; Case2_chi5.w_u; ...
     Case1_chi7.w_c; Case1_chi7.w_u; ...
     Case2_chi7.w_c; Case2_chi7.w_u; ...
     Case1_chi9.w_c; Case1_chi9.w_u; ...
     Case2_chi9.w_c; Case2_chi9.w_u];
P = [Case1_chi5.P_c; Case1_chi5.P_u; ...
     Case2_chi5.P_c; Case2_chi5.P_u; ...
     Case1_chi7.P_c; Case1_chi7.P_u; ...
     Case2_chi7.P_c; Case2_chi7.P_u; ...
     Case1_chi9.P_c; Case1_chi9.P_u; ...
     Case2_chi9.P_c; Case2_chi9.P_u];

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

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

%% 
clear;  clc;  close
load("chi5\data\Counterfactual_TariffUnilateral_UC.mat");
Case1_chi5_UC = Case1;
Case2_chi5_UC = Case2;
Case3_chi5_UC = Case3;
Case4_chi5_UC = Case4;

load("chi5\data\Counterfactual_TariffUnilateral_CU.mat");
Case1_chi5_CU = Case1;
Case2_chi5_CU = Case2;
Case3_chi5_CU = Case3;
Case4_chi5_CU = Case4;

load("chi7\data\Counterfactual_TariffUnilateral_UC.mat");
Case1_chi7_UC = Case1;
Case2_chi7_UC = Case2;
Case3_chi7_UC = Case3;
Case4_chi7_UC = Case4;

load("chi7\data\Counterfactual_TariffUnilateral_CU.mat");
Case1_chi7_CU = Case1;
Case2_chi7_CU = Case2;
Case3_chi7_CU = Case3;
Case4_chi7_CU = Case4;

load("chi9\data\Counterfactual_TariffUnilateral_UC.mat");
Case1_chi9_UC = Case1;
Case2_chi9_UC = Case2;
Case3_chi9_UC = Case3;
Case4_chi9_UC = Case4;

load("chi9\data\Counterfactual_TariffUnilateral_CU.mat");
Case1_chi9_CU = Case1;
Case2_chi9_CU = Case2;
Case3_chi9_CU = Case3;
Case4_chi9_CU = Case4;

opt_chi5 = [Case1_chi5_CU.t_cu_opt; Case1_chi5_UC.t_uc_opt; ...
       Case2_chi5_CU.t_cu_opt; Case2_chi5_UC.t_uc_opt; ...
       Case3_chi5_CU.t_cu_opt; Case3_chi5_UC.t_uc_opt; ...
       Case4_chi5_CU.t_cu_opt; Case4_chi5_UC.t_uc_opt];
wel_chi5 = [Case1_chi5_CU.wel_c_opt; Case1_chi5_UC.wel_u_opt; ...
       Case2_chi5_CU.wel_c_opt; Case2_chi5_UC.wel_u_opt; ...
       Case3_chi5_CU.wel_c_opt; Case3_chi5_UC.wel_u_opt; ...
       Case4_chi5_CU.wel_c_opt; Case4_chi5_UC.wel_u_opt];

opt_chi7 = [Case1_chi7_CU.t_cu_opt; Case1_chi7_UC.t_uc_opt; ...
       Case2_chi7_CU.t_cu_opt; Case2_chi7_UC.t_uc_opt; ...
       Case3_chi7_CU.t_cu_opt; Case3_chi7_UC.t_uc_opt; ...
       Case4_chi7_CU.t_cu_opt; Case4_chi7_UC.t_uc_opt];
wel_chi7 = [Case1_chi7_CU.wel_c_opt; Case1_chi7_UC.wel_u_opt; ...
       Case2_chi7_CU.wel_c_opt; Case2_chi7_UC.wel_u_opt; ...
       Case3_chi7_CU.wel_c_opt; Case3_chi7_UC.wel_u_opt; ...
       Case4_chi7_CU.wel_c_opt; Case4_chi7_UC.wel_u_opt];

opt_chi9 = [Case1_chi9_CU.t_cu_opt; Case1_chi9_UC.t_uc_opt; ...
       Case2_chi9_CU.t_cu_opt; Case2_chi9_UC.t_uc_opt; ...
       Case3_chi9_CU.t_cu_opt; Case3_chi9_UC.t_uc_opt; ...
       Case4_chi9_CU.t_cu_opt; Case4_chi9_UC.t_uc_opt];
wel_chi9 = [Case1_chi9_CU.wel_c_opt; Case1_chi9_UC.wel_u_opt; ...
       Case2_chi9_CU.wel_c_opt; Case2_chi9_UC.wel_u_opt; ...
       Case3_chi9_CU.wel_c_opt; Case3_chi9_UC.wel_u_opt; ...
       Case4_chi9_CU.wel_c_opt; Case4_chi9_UC.wel_u_opt];

result = reshape([round(opt_chi5,2),round(wel_chi5,2),round(opt_chi7,2),round(wel_chi7,2),round(opt_chi9,2),round(wel_chi9,2)],[8,6]);
Table2 = array2table(result, 'VariableNames', {'关税_chi5', '福利_chi5', '关税_chi7', '福利_chi7', '关税_chi9', '福利_chi9'});
writetable(Table2, '表VI2.xlsx', 'WriteVariableNames', true);

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

%% Replicate Section 5 of the Paper
clear;  clc;  close
load("chi5\data\Counterfactual_TariffNash.mat");
Case1_chi5_Nash = Case1;
Case2_chi5_Nash = Case2;
Case3_chi5_Nash = Case3;
Case4_chi5_Nash = Case4;

load("chi7\data\Counterfactual_TariffNash.mat");
Case1_chi7_Nash = Case1;
Case2_chi7_Nash = Case2;
Case3_chi7_Nash = Case3;
Case4_chi7_Nash = Case4;

load("chi9\data\Counterfactual_TariffNash.mat");
Case1_chi9_Nash = Case1;
Case2_chi9_Nash = Case2;
Case3_chi9_Nash = Case3;
Case4_chi9_Nash = Case4;


opt_chi5 = [Case1_chi5_Nash.t_cu_opt; Case1_chi5_Nash.t_uc_opt; ...
       Case2_chi5_Nash.t_cu_opt; Case2_chi5_Nash.t_uc_opt; ...
       Case3_chi5_Nash.t_cu_opt; Case3_chi5_Nash.t_uc_opt; ...
       Case4_chi5_Nash.t_cu_opt; Case4_chi5_Nash.t_uc_opt];
wel_chi5 = [Case1_chi5_Nash.wel_c; Case1_chi5_Nash.wel_u; ...
       Case2_chi5_Nash.wel_c; Case2_chi5_Nash.wel_u; ...
       Case3_chi5_Nash.wel_c; Case3_chi5_Nash.wel_u; ...
       Case4_chi5_Nash.wel_c; Case4_chi5_Nash.wel_u];

opt_chi7 = [Case1_chi7_Nash.t_cu_opt; Case1_chi7_Nash.t_uc_opt; ...
       Case2_chi7_Nash.t_cu_opt; Case2_chi7_Nash.t_uc_opt; ...
       Case3_chi7_Nash.t_cu_opt; Case3_chi7_Nash.t_uc_opt; ...
       Case4_chi7_Nash.t_cu_opt; Case4_chi7_Nash.t_uc_opt];
wel_chi7 = [Case1_chi7_Nash.wel_c; Case1_chi7_Nash.wel_u; ...
       Case2_chi7_Nash.wel_c; Case2_chi7_Nash.wel_u; ...
       Case3_chi7_Nash.wel_c; Case3_chi7_Nash.wel_u; ...
       Case4_chi7_Nash.wel_c; Case4_chi7_Nash.wel_u];

opt_chi9 = [Case1_chi9_Nash.t_cu_opt; Case1_chi9_Nash.t_uc_opt; ...
       Case2_chi9_Nash.t_cu_opt; Case2_chi9_Nash.t_uc_opt; ...
       Case3_chi9_Nash.t_cu_opt; Case3_chi9_Nash.t_uc_opt; ...
       Case4_chi9_Nash.t_cu_opt; Case4_chi9_Nash.t_uc_opt];
wel_chi9 = [Case1_chi9_Nash.wel_c; Case1_chi9_Nash.wel_u; ...
       Case2_chi9_Nash.wel_c; Case2_chi9_Nash.wel_u; ...
       Case3_chi9_Nash.wel_c; Case3_chi9_Nash.wel_u; ...
       Case4_chi9_Nash.wel_c; Case4_chi9_Nash.wel_u];

result = reshape([round(opt_chi5,2),round(wel_chi5,2),round(opt_chi7,2),round(wel_chi7,2),round(opt_chi9,2),round(wel_chi9,2)],[8,6]);
Table3 = array2table(result, 'VariableNames', {'关税_chi5', '福利_chi5', '关税_chi7', '福利_chi7', '关税_chi9', '福利_chi9'});
writetable(Table3, '表VI3.xlsx', 'WriteVariableNames', true);

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