⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logistic.m

📁 用logistics法拟合数据
💻 M
字号:
clear
clc
% 读入人口数据(1977-2006年)
fid=fopen('shuju2.txt','r');
a=fscanf(fid,'%f',[30,2]);
y=a(:,1);
% 读入时间变量数据(t=年份-1976)
t=a(:,2);
hold on;
plot(t,y,'r');
text(15,70000,'全国就业人口示意图');
% 线性化处理
T=t;
for t = 1:30, 
   x(t)=exp(-t);
   y(t)=1/y(t,1);
end
% 计算,并输出回归系数B
c=zeros(30,1)+1;
X=[c,x'];
B=inv(X'*X)*X'*y;
for i=1:30,
% 计算回归拟合值    
    z(i)=B(1,1)+B(2,1)*x(i);
% 计算离差
    s(i)=y(i)-sum(y)/30;
% 计算误差    
    w(i)=z(i)-y(i);
end
% 计算离差平方和S
S=s*s';
% 回归误差平方和Q
Q=w*w';
% 计算回归平方和U
U=S-Q;
% 计算,并输出F检验值
F=28*U/Q;
% 计算非线性回归模型的拟合值
for j=1:30,
    Y(j)=1/(B(1,1)+B(2,1)*exp(-j));
end
% 输出非线性回归模型的拟合曲线(Logisic曲线)
plot(T,Y)
text(20,60000,'logisic曲线')
hold off;
a=fopen('jieguo.txt','w');
fprintf(a,'回归系数B=');
fprintf(a,'%double\n',B);
fprintf(a,'离差平方和S=');
fprintf(a,'%double\n',S);
fprintf(a,'回归误差平方和Q=');
fprintf(a,'%double\n',Q);
fprintf(a,'回归平方和U=');
fprintf(a,'%double\n',U);
fprintf(a,'检验值F=');
fprintf(a,'%double',F);
fclose(a);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -