El significado es: ordenar los ingresos de todas las personas (suponiendo exactamente 100 personas) de pequeño a grande, y luego comenzar a acumular desde el menor ingreso Para cada persona, la abscisa es la relación del valor acumulado del número de personas al número total de personas, y la ordenada es el valor acumulado de la renta Porcentaje de renta bruta, hasta el último que más gana.
Obviamente, la abscisa y la ordenada en la figura están entre [0-1]. Conectar la esquina inferior izquierda y la esquina superior derecha de la figura significa que la proporción acumulada del número de personas siempre es igual a la proporción acumulada de ingresos, lo que significa que los ingresos son completamente iguales.
Bueno, el área entre la línea anterior de ingreso igual para todos y la curva de ingreso real es A, y el área entre la curva de ingreso real y el eje X es B.
codigo matlab
%x1=0:0.1:1;
%总人口 7681520041
%总收入 1313967.445亿元
%a1=xlsread('C:\Users\zh128\Desktop\update_NY.GNP.xls',1,'C5:C195');
%a2=xlsread('C:\Users\zh128\Desktop\update_NY.GNP.xls',2,'D1:D192');
%a3=xlsread('C:\Users\zh128\Desktop\update_NY.GNP.xls',2,'E1:E192');
a1=xlsread('C:\Users\zh128\Desktop\update_NY.GNP.xls',1,'C5:C195');
a2=xlsread('C:\Users\zh128\Desktop\update_NY.GNP.xls',3,'D1:D192');
a3=xlsread('C:\Users\zh128\Desktop\update_NY.GNP.xls',3,'E1:E192');
a2=a2./7681520041;
x1=a2';
x2=0:0.001:1;%作为拟合数据使用
a3=a3./1313967.445;
t=a3';%收入数百分比
xlen=length(x1);
y=zeros(1,xlen);
x0=zeros(1,xlen);
for i=1:xlen
y(i)=sum(t(1:i));
end
for i=1:xlen
x0(i)=sum(x1(1:i));
end
% c=polyfit(x1,y,7);
c=fit(x0',y','smoothingspline');
%d=polyval(c,x2);
d=c(x2);
%plot([0,1],[0,1],x1,y,['-'])
plot(x0,x0,'b-.',x0,y,'*',x2,d,'-')
title('Lorenz Curve')
xlabel('Cumulative percentage of population'),ylabel('Cumulative revenue percentage')
axis equal
axis([0,1,0,1])
grid on
%计算基尼系数
area1=trapz(x2,d);
area2=trapz(x0,x0);
JN=(area2-area1)/area2;
disp(['Gini coefficient of national income=',num2str(JN)])