function [W1,W2,W3,W4,W5,W6,W7,W8,W9,W10]=weight(EX,IM,DTB,FTB)
%% 国内贸易壁垒权重
% 提取国内调出矩阵和调入矩阵
[m,n]=size(DTB);
DC = zeros(m,n);
DR = zeros(m,n);
for i=1:1:30
  DC(1+(i-1)*30:i*30,:)= EX(1+(i-1)*31:i*31-1,:); %省际调出矩阵 900*17
  DR(1+(i-1)*30:i*30,:)= IM(1+(i-1)*31:i*31-1,:); %省际调入矩阵 900*17
end
TDT = DC+DR;
TDT(:,13)=0;   % 总贸易额=调入额+调出额

for i=1:1:30
    TDT(31*i-30,:)=0;  % 剔除各省内部贸易
end

for i=1:1:m
    for j=1:1:n
    if DTB(i,j)==0
        TDT(i,j)=0;    % check：如果贸易壁垒为0，将其贸易值设置为0
    end
    end
end

for i=1:1:m
    for j=1:1:n
    if DTB(i,j)<1
        TDT(i,j)=0;
    end
    end
end

sum1 = sum(TDT(:,:),2);    %两省之间的贸易总额
sum2 = sum(TDT(:,:),1);    %各部门国内贸易总额 各部门贸易总额
sum3 = sum(sum2);          %全国国内贸易总额 基于部门层面加总得到

Btrade = zeros(30,30);
for i=1:1:30
Btrade(:,i) = sum1(1+(i-1)*30:i*30,:);  %双边贸易矩阵
end

sum4 = sum(Btrade(:,:),2); %各省国内贸易总额
sum5 = sum(sum4);          %全国国内贸易总额 基于地区层面加总得到=sum3

% 两省s部门贸易额/该省总贸易额  用于加权两省之间的贸易壁垒 A与B省的S1、S2部门
W1 = TDT./sum1;  
% 某省部门贸易额/该部门贸易总额 用于加权全国各部门的贸易壁垒
W2 = TDT./sum2;
% 两省贸易总额/该省总贸易额    用于加权各省的贸易壁垒 A与B、C、D省份
W3 = Btrade./sum4;
% 某省贸易总额/全国贸易总额    用于加权全国的贸易壁垒——地区视角
W4 = sum4./sum5;
% 某部门贸易总额/全国贸易总额  用于加权全国的贸易壁垒——部门视角
W5 = sum2./sum3;

% 两省s部门贸易额/该省s部门贸易总额 用于各省特定部门的贸易壁垒
W10 = zeros(m,n);
for i=1:1:30
    PSTRADE = TDT(1+(i-1)*30:30*i,:);
    SPSTRADE = sum(PSTRADE(:,:),1);
    W10(1+(i-1)*30:30*i,:)=PSTRADE./SPSTRADE; 
end


%% 国际贸易壁垒权重
% 提取国际贸易矩阵
CK=zeros(30,17);
JK=zeros(30,17);
for i=1:1:30
    CK(i,:)=EX(i*31,:);   %出口矩阵 30*3
    JK (i,:)=IM(i*31,:);  %进口矩阵 30*3
end
TFT = CK+JK;   % 进口+出口 30*3

[m,n]=size(TFT);
for i=1:1:m
    for j=1:1:n
    if FTB(i,j)==0
        TFT(i,j)=0;
    end
    end
end

sum6 = sum(TFT(:,:),2); %各省总国际贸易额
sum7 = sum(TFT(:,:),1); %各部门总国际贸易额
sum8 = sum(sum6);       %全国国际贸易总额——地区层面
sum9 = sum(sum7);       %全国国际贸易总额——部门层面  sum8=sum9

% 某省s部门国际贸易额/该省总国际贸易额 用于加权各省国际贸易壁垒
W6 = TFT./sum6;
% 某省部门国际贸易额/该部门贸易总额  用于加权各部门国际贸易壁垒
W7 = TFT./sum7;
% 各省国际贸易总额/全国国际贸易总额  用于加权全国国际贸易壁垒
W8 = sum6./sum8;
% 各部门国际贸易总额/全国国际贸易总额 用于加权全国贸易壁垒
W9 = sum7./sum9;


W1(isnan(W1))=0;
W1(isinf(W1))=0;

W2(isnan(W2))=0;
W2(isinf(W2))=0;

W3(isnan(W3))=0;
W3(isinf(W3))=0;

W4(isnan(W4))=0;
W4(isinf(W4))=0;

W5(isnan(W5))=0;
W5(isinf(W5))=0;

W6(isnan(W6))=0;
W6(isinf(W6))=0;

W7(isnan(W7))=0;
W7(isinf(W7))=0;

W8(isnan(W8))=0;
W8(isinf(W8))=0;

W9(isnan(W9))=0;
W9(isinf(W9))=0;

W10(isnan(W10))=0;
W10(isinf(W10))=0;
end