如何用Matlab软件线性拟合指数函数人口增长率曲线 急急急!小弟在此谢过啦!真的不会用Matlab! 、

如题所述

% % $$y = x0 * exp(r*x),$$

clc, clear, clf

x= 1990:2008;

y=[11.43 11.58 11.72 11.85 11.99 12.11 12.24 12.36 12.48 12.58 12.67 12.76 12.85 12.92 13 13.08 13.14 13.21 13.28];

y=log(y)

n=length(x)

subplot(121)

plot(x,y,'o');

r=(n*sum(x.*y)-sum(x)*sum(y))/(n*sum(x.^2)-sum(x)^2);

B0=mean(y)-r*mean(x);

sprintf('y=%f+%f*x',B0,r)  %y=-13.906308+0.008219*x

%r=0.008219

%%下面求R值,即求相关性

Rfenzi=sum((x-mean(x)).*(y-mean(y)));

Rfenmu=sqrt(sum((x-mean(x)).^2).*sum((y-mean(y)).^2));

R=Rfenzi/Rfenmu    %R =0.9978

%%求拟合后的曲线

subplot(122)

x=19:0.1:50;

plot(x,B0+r.*x)

温馨提示:答案为网友推荐,仅供参考
相似回答