中国人口增长预测

news2024/11/24 1:42:05

目录

问题分析

模型建立

Logistic模型

 Leslie模型

模型求解

问题一

问题二

 问题三


问题分析


问题

基本假设

(1)不考虑移民对人口总数的影响

(2)超过90岁按照90岁计算

(3)在较短时间内,平均年龄变化较小,可认为不变

(4)社会稳定,不会发生重大灾害和战争,出生率和死亡率基本不变


模型建立


Logistic模型


 Leslie模型


模型求解

inline

f = inline(expr) 按照 expr 中包含的 MATLAB® 表达式构造一个内联函数对象。内联函数的输入参数是通过在 expr 中搜索孤立的小写字母字符(i 或 j 除外)自动确定的,该小写字母字符不属于通过多个字母字符构成的字词的一部分。如果不存在此类字符,则使用 x。如果该字符不是唯一的,则使用最接近 x 的字符。如果找到两个字符,则选择在字母表中靠后的字符。

f = inline(expr,arg1,arg2,…,argN) 构造一个由 arg1,arg2,…,argN 指定输入参数的内联函数。可以使用多字符符号名称。

f = inline(expr,N)(其中 N 是标量)构造一个其输入参数为 x 和 P1,P2,…,PN 的内联函数

sqr = @(x) x.^2

(比起inline,更加推荐使用匿名函数)

变量 sqr 是一个函数句柄。@ 运算符创建句柄,@ 运算符后面的圆括号 () 包括函数的输入参数。该匿名函数接受单个输入 x,并显式返回单个输出,即大小与包含平方值的 x 相同的数组。

通过将特定值 (5) 传递到函数句柄来计算该值的平方,与您将输入参数传递到标准函数一样。

nlinfit 非线性回归

beta = nlinfit(X,Y,modelfun,beta0) 使用 modelfun 指定的模型,返回一个向量,其中包含 Y 中的响应对 X 中的预测变量的非线性回归的估计系数。它使用迭代最小二乘估计来估计系数,初始值由 beta0 指定。

beta = nlinfit(X,Y,modelfun,beta0,options) 使用结构体 options 中的算法控制参数来拟合非线性回归。您可以返回上述语法中的任何输出参数。

beta = nlinfit(___,Name,Value) 使用由一个或多个名称-值对组参数指定的附加选项。例如,您可以指定观测值权重或非常量误差模型。您可以使用上述语法中的任何输入参数。

[beta,R,J,CovB,MSE,ErrorModelInfo] = nlinfit(___) 还返回残差 Rmodelfun 的 Jacobian 矩阵 J、估计系数的估计方差-协方差矩阵 CovB、误差项的方差估计 MSE 以及包含误差模型细节的结构体 ErrorModelInfo


问题一

        Logistic模型根据经济发展水平、政策情况,分为三个时间段(三种情况)对问题进行求解。

①将1954年看成初始年t=0;1955年为t=1;2005年为t=51,作为终止时刻。

clear all 
clc
t=0:51;  %令1954年为初始年
x=[60.2 61.5 62.8 64.6 66 67.2 66.2 65.9 67.3 69.1 70.4 72.5 74.5 76.3 78.5 80.7 83 85.2 87.1 89.2 90.9 92.4 93.7 95 96.259 97.5 98.705 100.1 101.654 103.008 104.357 105.851 107.5 109.3 111.026 112.704 114.333 115.823 117.171 118.517 119.85  121.121 122.389 123.626 124.761 125.786 126.743 127.627 128.453 129.227 129.988 130.756]; 

syms c d
c/(1+(c/60.2-1)*exp(-5*d))==67.2
c/(1+(c/60.2-1)*exp(-20*d))==90.9
%求初始参数
solve(c,d)

b0=[ 241.9598, 0.02985];   %初始参数值
fun=inline('b(1)./(1+(b(1)/60.2-1).*exp(-b(2).*t))','b','t');
[b1,r1,j1]=nlinfit(t,x,fun,b0)
y=180.9871./(1+( 180.9871/60.2-1).*exp( -0.0336.*t));  %非线性拟合的方程
figure(1)
plot(t,x,'*',t,y,'-or')  %对原始数据与曲线拟合后的值作图
title('原始数据与曲线拟合后曲线')
xlabel('时间')
ylabel('人口数量(单位:千万)')
R1=r1.^2;
R2=(x-mean(x)).^2;  
R=1-R1/R2';          %可决系数
W=sum(abs(r1))     %残差绝对值之和
% t=56;
% y56=180.9871./(1+( 180.9871/60.2-1).*exp( -0.0336.*t))  %非线性拟合的方程
% t=66;
% y66=180.9871./(1+( 180.9871/60.2-1).*exp( -0.0336.*t))  %非线性拟合的方程
% t=79;
% y79=180.9871./(1+( 180.9871/60.2-1).*exp( -0.0336.*t))  %非线性拟合的方程
% %1954年到2005年的总人口数进行拟合产生的残差散点图
% figure(2)
% t=1954:2005;
% plot(t,r1,'.-')

 ②将1963年看为t=0;2005年为终止年,t=42。

clear all
clc 
t=46:3:94
y=  180.9871./(1+( 180.9871/60.2-1).*exp( -0.0336.*t))%对总人口进行预测
t=0:42;  %令1963年为初始年
x=[69.1 70.4    72.5    74.5    76.3    78.5    80.7    83  85.2    87.1    89.2    90.9    92.4    93.7    95  96.259  97.5    98.705  100.1   101.654 103.008 104.357 105.851 107.5   109.3   111.026 112.704 114.333 115.823 117.171 118.517 119.85  121.121 122.389 123.626 124.761 125.786 126.743 127.627 128.453 129.227 129.988 130.756]; 

syms c d
c/(1+(c/69.1-1)*exp(-5*d))==78.5
c/(1+(c/69.1-1)*exp(-20*d))==103.008 %求初始参数
solve(c,d)

b0=[   134.368,0.056610];   %初始参数值
fun=inline('b(1)./(1+(b(1)/69.1-1).*exp(-b(2).*t))','b','t');
[b1,r1,j1]=nlinfit(t,x,fun,b0)
y=151.4513./(1+(151.4513/69.1-1).*exp( -0.0484.*t));  %非线性拟合的方程
figure(1)
plot(t,x,'*',t,y,'-or')  %对原始数据与曲线拟合后的值作图
title('原始数据与曲线拟合后曲线')
xlabel('时间')
ylabel('人口数量(单位:千万)')
R1=r1.^2;
R2=(x-mean(x)).^2;  
R=1-R1/R2';          %可决系数
W=sum(abs(r1))     %残差绝对值之和
% t=47;
% y47=151.4513./(1+(151.4513/69.1-1).*exp( -0.0484.*t))  %非线性拟合的方程
% t=57;
% y57=151.4513./(1+(151.4513/69.1-1).*exp( -0.0484.*t))  %非线性拟合的方程
% t=70;
% y70=151.4513./(1+(151.4513/69.1-1).*exp( -0.0484.*t))  %非线性拟合的方程
% %1963年到2005年的总人口数进行拟合产生的残差散点图
% figure(2)
% t=1963:2005;
% plot(t,r1,'.-')

 ③将1980年看为起始年,2005年视为终止年

clear all
clc 
t=37:3:85
y=151.4513./(1+(151.4513/69.1-1).*exp( -0.0484.*t))%对总人口进行预测
t=0:25;  %令1980年为初始年
x=[98.705   100.1   101.654 103.008 104.357 105.851 107.5   109.3   111.026 112.704 114.333 115.823 117.171 118.517 119.85  121.121 122.389 123.626 124.761 125.786 126.743 127.627 128.453 129.227 129.988 130.756]; 

syms c d
c/(1+(c/98.705-1)*exp(-5*d))==105.851
c/(1+(c/98.705-1)*exp(-8*d))==111.026
solve(c,d)
 %求初始参数
b0=[ 109.8216, - 0.19157];   %初始参数值
fun=inline('b(1)./(1+(b(1)/98.705-1).*exp(-b(2).*t))','b','t');
[b1,r1,j1]=nlinfit(t,x,fun,b0)
y= 153.5351./(1+(153.5351/98.705-1).*exp( -0.0477.*t));  %非线性拟合的方程
figure(1)
plot(t,x,'*',t,y,'-or')  %对原始数据与曲线拟合后的值作图
title('原始数据与曲线拟合后曲线')
xlabel('时间')
ylabel('人口数量(单位:千万)')
R1=r1.^2;
R2=(x-mean(x)).^2;  
R=1-R1/R2';          %可决系数
 W=sum(abs(r1))     %残差绝对值之和
% t=20:3:53;
% y= 153.5351./(1+(153.5351/98.705-1).*exp( -0.0477.*t))%对总人口进行预测
% %1954年到2005年的总人口数进行拟合产生的残差散点图
% figure(2)
% t=1980:2005;
% plot(t,r1,'.-')
% grid on

 


问题二

        采用考虑种群结构的Leslie离散模型。

clear all 
clc
%计算2001到2051年的人口总数程序
p=0.464429182;              %女性占总人口的比例
N=[0.680891272  0.58459172  0.584558207 0.692220217 0.72411021  0.775536041 0.847368918 0.834418703 0.917922042 0.951466819 1.070015717 1.249256063 1.199263988 1.202198525 1.274218917 1.111050839 0.992314425 0.893797544 0.874657347 0.984356877 0.859576778 0.85215346  0.90864418  0.897944807 0.880539323 1.019086724 1.04218667  1.114823731 1.192867199 1.203566572 1.272973995 1.328513576 1.254992403 1.333819445 1.103186123 1.22470307  1.220643442 1.236736319 1.390726415 0.980765111 0.646684069 0.785660623 0.701627592 0.910420112 0.960157646 0.914258713 0.953980568 0.927429956 0.851007759 0.825482359 0.807942823 0.736552002 0.69043204  0.60580295  0.615510624 0.554785663 0.50370135  0.480051762 0.468722817 0.455364059 0.484386541 0.447344681 0.420164498 0.44238033  0.426529091 0.428183875 0.39132953  0.380409129 0.385339967 0.327924574 0.334697711 0.307330012 0.262864834 0.270663183 0.235872165 0.208725495 0.212001549 0.178456772 0.164260316 0.149842833 0.138734916 0.109899949 0.097358277 0.0765762   0.0638135   0.055794123 0.049396016 0.0382881   0.033544777 0.023870616 0.070211606];
N0=N'/10;                    %第0年(2001年)的女性各个年龄段的人口数(千万)
N00=N0/10                    %把单位化成亿(人)
A=eye(90);
b=[0.974906966  0.999321231 0.99772433  0.999247616 0.999567418 0.999180663 0.999887948 0.999387596 0.999618586 0.999985672 0.999389434 0.999724354 0.999801796 0.999627626 0.999704795 0.999639686 0.999728462 0.999974533 0.999173327 0.998954118 0.999441067 0.999357392 0.999290675 0.998999176 0.999881604 0.998896347 0.998355939 0.999135339 0.999074527 0.998872652 0.999180794 0.998918159 0.999046112 0.999042354 0.999396027 0.998624972 0.998252716 0.999597855 0.998710945 0.999003274 0.999443444 0.999141415 0.998772101 0.998940505 0.997905005 0.998374562 0.997783774 0.997596666 0.997344906 0.996954499 0.996669784 0.996030759 0.995006639 0.996157488 0.994647744 0.995779435 0.995652313 0.99577713  0.992477806 0.994969564 0.988130537 0.989284868 0.988703961 0.988302563 0.98420824  0.984495416 0.985298735 0.980062089 0.978928307 0.977358446 0.971126989 0.969303899 0.969979818 0.96405059  0.961740312 0.96729706  0.948302346 0.946571559 0.949641387 0.935949391 0.912489482 0.9261805   0.923757863 0.928757906 0.918230333 0.887761389 0.885306858 0.875178086 0.882495752 0.824428701];
for i=1:90
    A(i,:)=A(i,:)*b(1,i);
end
A;         
c=[0    0   0   0   0   0   0   0   0   0   0   0   0   0   0   4.478E-05   0.000322169 0.000358246 0.001004604 0.004683367 0.011011165 0.033616492 0.057875394 0.074871727 0.069182006 0.076039141 0.06724895  0.052429406 0.043732464 0.034350502 0.024632733 0.023252532 0.018343847 0.014701275 0.011039961 0.007117557 0.005094843 0.00359291  0.002514858 0.002484781 0.001764709 0.001471644 0.000676953 0.000265476 0.000401474 0.000408779 0.000110447 0.000192401 0.000389421 0.000224069 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0];        %由2001年原始数据得到的生育率
c1=1.295274487*c;            %修正后的生育率
M=sum(c1');                  %总合生育率
d=zeros(91,1);
B=[c1;A];
L=[B,d];                    %构造的lestie矩阵
for i=0:1:50
X=L^i*N0;                   %第i年后女性各个年龄段的人口数(千万)
Z=X./p;                     %第i年在各个年龄段的人口总数预测
K(i+1,1)=sum(Z);
S1=sum(Z([1:15],:));        %第i年0-14岁的总人数
D(1,i+1)=S1;
S2=sum(Z([16:65],:));       %第i年15-64岁的总人数
S3=sum(Z([61:91],:));       %第i年60-90岁人数
G(1,i+1)=S3;
E(1,i+1)=S2;
S4=sum(Z([66:91],:));       %第i年65-90岁人数
F(1,i+1)=S4;
end
K                           %2001-2051的人口总数
D                           %年龄在0-14岁总人数(包括男女)
E                           %年龄在15-64岁总人数(包括男女)
F                           %年龄在65岁及65岁以上总人数(包括男女)
G                           %年龄在60岁及60岁以上总人数(包括男女)
%我国全国总人口与劳动年龄人口
x=2001:2051;
y1=K;
y2=E';
figure(1)
plot(x,y1,'*',x,y2,'-or')
title('我国全国总人口与劳动年龄人口变化趋势');
xlabel('时间');
ylabel('人口变化趋势')
%我国60岁以上与65岁以上的老龄人口数
x=2001:2051;
y1=G';
y2=F';
figure(2)
plot(x,y1,'*',x,y2,'-or')
title('我国60岁以上与65岁以上的老龄人口数');
xlabel('时间');
ylabel('老龄人口数')
%我国老龄人口占总人口预测比例
x=2001:2051;
y1=G'/K;
y2=F'/K;
figure(3)
plot(x,y1(:,23),'*',x,y2(:,23),'-or')
title('我国老龄人口占总人口预测比例');
xlabel('时间');
ylabel('老龄人口比重')


 问题三

        在不同的总生育率k下预测全国老龄化变化趋势。

function W=compare(x) 
p=0.464429182;      %女性占总人口的比例
N=[0.680891272  0.58459172  0.584558207 0.692220217 0.72411021  0.775536041 0.847368918 0.834418703 0.917922042 0.951466819 1.070015717 1.249256063 1.199263988 1.202198525 1.274218917 1.111050839 0.992314425 0.893797544 0.874657347 0.984356877 0.859576778 0.85215346  0.90864418  0.897944807 0.880539323 1.019086724 1.04218667  1.114823731 1.192867199 1.203566572 1.272973995 1.328513576 1.254992403 1.333819445 1.103186123 1.22470307  1.220643442 1.236736319 1.390726415 0.980765111 0.646684069 0.785660623 0.701627592 0.910420112 0.960157646 0.914258713 0.953980568 0.927429956 0.851007759 0.825482359 0.807942823 0.736552002 0.69043204  0.60580295  0.615510624 0.554785663 0.50370135  0.480051762 0.468722817 0.455364059 0.484386541 0.447344681 0.420164498 0.44238033  0.426529091 0.428183875 0.39132953  0.380409129 0.385339967 0.327924574 0.334697711 0.307330012 0.262864834 0.270663183 0.235872165 0.208725495 0.212001549 0.178456772 0.164260316 0.149842833 0.138734916 0.109899949 0.097358277 0.0765762   0.0638135   0.055794123 0.049396016 0.0382881   0.033544777 0.023870616 0.070211606];
N0=N';
A=eye(90);
b=[0.974906966  0.999321231 0.99772433  0.999247616 0.999567418 0.999180663 0.999887948 0.999387596 0.999618586 0.999985672 0.999389434 0.999724354 0.999801796 0.999627626 0.999704795 0.999639686 0.999728462 0.999974533 0.999173327 0.998954118 0.999441067 0.999357392 0.999290675 0.998999176 0.999881604 0.998896347 0.998355939 0.999135339 0.999074527 0.998872652 0.999180794 0.998918159 0.999046112 0.999042354 0.999396027 0.998624972 0.998252716 0.999597855 0.998710945 0.999003274 0.999443444 0.999141415 0.998772101 0.998940505 0.997905005 0.998374562 0.997783774 0.997596666 0.997344906 0.996954499 0.996669784 0.996030759 0.995006639 0.996157488 0.994647744 0.995779435 0.995652313 0.99577713  0.992477806 0.994969564 0.988130537 0.989284868 0.988703961 0.988302563 0.98420824  0.984495416 0.985298735 0.980062089 0.978928307 0.977358446 0.971126989 0.969303899 0.969979818 0.96405059  0.961740312 0.96729706  0.948302346 0.946571559 0.949641387 0.935949391 0.912489482 0.9261805   0.923757863 0.928757906 0.918230333 0.887761389 0.885306858 0.875178086 0.882495752 0.824428701];
b1=[0.974906966 0.999321231 0.99772433  0.999247616 0.999567418 0.999180663 0.999887948 0.999387596 0.999618586 0.999985672 0.999389434 0.999724354 0.999801796 0.999627626 0.999704795 0.999639686 0.999728462 0.999974533 0.999173327 0.998954118 0.999441067 0.999357392 0.999290675 0.998999176 0.999881604 0.998896347 0.998355939 0.999135339 0.999074527 0.998872652 0.999180794 0.998918159 0.999046112 0.999042354 0.999396027 0.998624972 0.998252716 0.999597855 0.998710945 0.999003274 0.999443444 0.999141415 0.998772101 0.998940505 0.997905005 0.998374562 0.997783774 0.997596666 0.997344906 0.996954499 0.996669784 0.996030759 0.995006639 0.996157488 0.994647744 0.995779435 0.995652313 0.99577713  0.992477806 0.994969564 0.988130537 0.989284868 0.988703961 0.988302563 0.98420824  0.984495416 0.985298735 0.980062089 0.978928307 0.977358446 0.971126989 0.969303899 0.969979818 0.96405059  0.961740312 0.96729706  0.948302346 0.946571559 0.949641387 0.935949391 0.912489482 0.9261805   0.923757863 0.928757906 0.918230333 0.887761389 0.885306858 0.875178086 0.882495752 0.824428701 0.7717624];
for i=1:90
    A(i,:)=A(i,:)*b(1,i);
end
A;         
c1=[0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   4.478E-05   0.000322169 0.000358246 0.001004604 0.004683367 0.011011165 0.033616492 0.057875394 0.074871727 0.069182006 0.076039141 0.06724895  0.052429406 0.043732464 0.034350502 0.024632733 0.023252532 0.018343847 0.014701275 0.011039961 0.007117557 0.005094843 0.00359291  0.002514858 0.002484781 0.001764709 0.001471644 0.000676953 0.000265476 0.000401474 0.000408779 0.000110447 0.000192401 0.000389421 0.000224069 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0];        %由2001年原始数据得到的生育率
t=sum(c1);
c=((x*p-t)/t+1)*c1                                %修正后的生育率
M=sum(c');                                        %总合生育率
d=zeros(91,1);
B=[c;A];
L=[B,d];                                          %构造的lestie矩阵
[V,d]=eig(L);                                     %求特征根与特征向量
p=d(42,42);                                       %特征根
Q=-V(:,42);                                       %对应的正特征向量
for i=0:49
    D=L^i*N0;                                     %第i年女性人口分布
    E(i+1,1)=sum(D)/p                             %第i年总人口(2001为第0年)
    for j=0:90                                    %大于90岁的按90岁算
        F(j+1,1)=j*D(j+1,1)/p;
        T(j+1,1)=exp(-b1(1,j+1));                 
    end
    Y(i+1)=sum(F)/E(i+1,1);                       %平均年龄
end
Y                                                 %输出01-50年平均年龄矩阵
T=0;
s=0;
 for i=0:90                                      %大于90岁的按90岁算
        
     T=T+exp(b1(1,j+1)-1);                        %求平均寿命,不随年份而变化
 end
 T
 W=Y/T;                                           %社会老龄化指数
% x=2001:2050;
% W1=compare(1.6);
% W2=compare(1.8);
% W3=compare(2.0);
% W4=compare(2.2);
% plot(x,W1,'-r')
% hold on
% plot(x,W2,'-G')
% plot(x,W3,'-B')
% plot(x,W4,'-Y')
% title('2001年到2050年全国老龄化变化趋势')
% xlabel('时间')
% ylabel('全国总人口')

        对函数进行调用:

x=2001:2050;
W1=compare(1.5); 
W2=compare(2.0);
W3=compare(2.5);
W4=compare(3.0);
plot(x,W1,'-r');
hold on
plot(x,W2,'-G');
plot(x,W3,'-B');
plot(x,W4,'-Y');
title('2001年到2050年全国老龄化变化趋势');
xlabel('时间');
ylabel('老龄化指数');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/612838.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习预预训练与MMPretrain

MMPretrain算法库 优势: 含有各种主干网络模型自监督学习功能多模态学习功能丰富的数据集含有训练技巧和策略易用,例如可解释性分析、推理api 包含多种丰富任务的开箱即用推理api 图像分类图像语义描述视觉问答视觉定位检索 安装步骤 配置文件中含有…

python 社区发现算法

转载:这个Python库超级棒啊,包含Louvain 算法、Girvan-Newman 算法等多种社区发现算法,还具有可视化功能_11205354的技术博客_51CTO博客 熟知社区发现算法,你不能错过这个 Python 库。它涵盖 Louvain 算法、Girvan-Newman 算法等…

Java基础(项目2)——项目案例:控制台的一个云就业平台项目【应聘+招聘】

目录 引出项目的分层固定的流程反思1.entity --- 实体类2.dao ---数据库的CRUD【进化到Spring的JdbcTemplate】以职位投递的dao为例---进化到Spring的JdbcTemplate: 3.service --- 组织代码的业务【进化到servlet调用service】4.util ---需要用到的工具【进化到duri…

leetcode450. 删除二叉搜索树中的节点(java)

删除二叉搜索树中的节点 leetcode450. 删除二叉搜索树中的节点题目描述 解题思路代码演示二叉树专题 leetcode450. 删除二叉搜索树中的节点 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/delete-node-in-a-bst 题目描述…

【SpringCloud——Elasticsearch(下)】

一、数据聚合 聚合,可以实现对文档数据的统计、分析、运算。常见的聚合有三类: ①、桶聚合:用来对文档做分组 TermAggregation:按照文档字段值分组。Date Histogram:按照日期解题分组,例如一周为一组&am…

10 - Linux进程层次分析

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)Linux系统编程训练营 - 目录 文章目录 1. 详解Linux进程组1.1 Linux进程组1.2 进程组示例程序1.3 编程实验:Linux进程组1.4 深入理解进程组1.4.1 进程组标识设置技巧…

Java实习生面试实录

你平时是怎么使用多线程的 我认为多线程使用我们可以就是你手动的,最初始学多线程就是可以去new Thread,然后去创建别的线程去异步执行一些任务,但是多线程的话最多使用可能在线程池这块会用到吧多线程技术就是创建线程池,然后由…

马尔可夫链蒙特卡罗算法(MCMC方法)

MCMC方法是什么 具体而言,假设我们要计算积分 μ ∫ S h ( θ ) π ( θ ∣ x ) d θ \mu\int_Sh(\theta)\pi(\theta|x)d\theta μ∫S​h(θ)π(θ∣x)dθ如果后验分布 π ( θ ∣ x ) \pi(\theta|x) π(θ∣x)难以直接抽样,那么我们就可以构造一条马氏…

Unity | HDRP高清渲染管线学习笔记:Volume

目录 一、Volume框架 二、Volume Profile 三、Volume重载 1.Visual Environment(环境设置) 1.1 Sky type 1.2 Ambient Mode 2.Sky 2.1 HDRI Sky(HDRI天空) 2.2 Gradient Sky(渐变天空) 2.3 Physi…

JAVA日志框架

JAVA日志框架 常见日志框架日志级别阿里日志规约什么时候打印日志配置文件log4j.propertieslogback-spring.xmllogback的默认配置 导入依赖日志使用方式,引入slf4j的API输出用户日志 常见日志框架 日志框架:Log4j 、Logback 。 日志门面:Slf…

第2章:SpringMVC的@RequestMapping注解

一、SpringMVC搭建框架 1.创建一个Maven程序的步骤 ①在pom.xml导入maven依赖 <!--打包方式是war--> <!--war 包通常用于网站&#xff0c;它是一个可以直接运行的 web 模块--> <packaging>war</packaging> <dependencies><!-- SpringMVC --…

二战阿里巴巴成功上岸,准备了小半年,拿23k也不算很高吧~

先说下我基本情况&#xff0c;本科不是计算机专业&#xff0c;现在是学通信&#xff0c;然后做图像处理&#xff0c;可能面试官看我不是科班出身没有问太多计算机相关的问题&#xff0c;因为第一次找工作&#xff0c;阿里的游戏专场又是最早开始的&#xff0c;就投递了&#xf…

如何获取 C#程序 内核态线程栈

一&#xff1a;背景 1. 讲故事 在这么多的案例分析中&#xff0c;往往会发现一些案例是卡死在线程的内核态栈上&#xff0c;但拿过来的dump都是用户态模式下&#xff0c;所以无法看到内核态栈&#xff0c;这就比较麻烦&#xff0c;需要让朋友通过其他方式生成一个蓝屏的dump&…

线程同步(一)

上篇文章讲述了什么是线程&#xff0c;以及在Linux系统下线程的相关操作 线程&#xff08;Linux系统实现&#xff09;_小梁今天敲代码了吗的博客-CSDN博客 本文将继续讲述线程的相关知识——线程同步 目录 1.线程同步的概念 2.线程不同步可能会发生什么 3.线程同步方式 …

机器学习——聚类算法详解

1.聚类问题 1&#xff09;聚类问题与核心概念 聚类算法做的事情&#xff0c;就是对无标签的数据&#xff0c;基于数据分布进行分群分组&#xff0c;使得相似的数据尽量落在同一个簇内。 我们先对比区分一下聚类和分类&#xff1a; 聚类是一种无监督学习&#xff0c;而分类是…

第十三届蓝桥杯C++B组j国赛

第十三届蓝桥杯C组 题目 2693: 蓝桥杯2022年第十三届决赛真题-卡牌 题目描述 这天&#xff0c;小明在整理他的卡牌。 他一共有 n 种卡牌&#xff0c;第 i 种卡牌上印有正整数数 i(i ∈ [1, n])&#xff0c;且第 i 种卡牌 现有 ai 张。 而如果有 n 张卡牌&#xff0c;其中…

硬件测试—温升测试之JinKo 多路温度测试仪使用说明

一、概述 1.1&#xff1a;测试概述 在硬件测试中&#xff0c;温升测试也是很重要的一项测试&#xff0c;产品各项器件在稳定的环境温度下满载工作的芯片温度&#xff0c;根据测试情况评估散热需求。 1.2&#xff1a;产品图片 1.3&#xff1a;使用设备 名称 厂家 型号 PC电脑…

Acer Aspire V3-572G电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件配置 硬件型号驱动情况 主板Acer Aspire V3-572G 处理器i7 5500U 2 Cores/4 Threads2,4Ghz已驱动 内存Any Samsung, Hynix or Kingston DDR3 8GB(4GBx2).已驱动 硬…

CSDN 每日一练用例数据缺失了怎么办?

CSDN 每日一练用例数据缺失了怎么办&#xff1f; 引子1、用例与结果不匹配2、阅读理解困难3、用例数据缺失 用例数据缺失&#xff0c;却有人 AC &#xff1f;神奇的 c28761 津津的储蓄计划70093 近视的小张 小结最后的吐槽 引子 老顾最近几个月经常在 CSDN 举办的周赛上浑水摸…

Tomcat 部署

一.Tomcat介绍 Servlet 是 Java Servlet 的简称&#xff0c;可以理解为是一个服务连接器&#xff0c;是用 Java 编写的服务器端程序&#xff0c;具有独立于平台和协议的特性&#xff0c; 简单的理解&#xff1a;servlet 就是一个中间件&#xff0c;包含了接口和方法&#xff0…