展开全部
clear
clc
Y=[11985 121121 122389 123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072];
T=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
for t=1:20
x(t)=exp(-t);
y(t)=1/Y(t);
end
c=zeros(20,1)+1;
X=[c,x'];
B=inv(X'*X)*X'*y';
for i=1:20
z(i)=B(1,1)+B(2,1)*x(i);
s(i)=y(i)-sum(y)/20;
w(i)=z(i)-y(i);
end
S=s*s';
Q=w*w';
U=S-Q;
F=28*U/Q;
for j=1:20
Y(j)=1/(B(1,1)+B(2,1)*exp(-j));
end
plot(T,Y)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x=[1994:1:2013];
y=[2187.4515,2482.4874,2969.5184,3585.7235,4282.1428,4950.9078,5813.5624,6801.5706,7786.7920,8201.3176,9581.5101,11505.5298,12950.0601];
for i=1:length(y)-1
yy(i)=(y(i+1)-y(i))/y(i);
end
p=polyfit(y(2:end),yy,1);
r=p(2)/1;xmax=-p(2)/p(1);
xxx=2000:1:2050;
yyy=xmax./(1+(xmax/y(1)-1).*exp(-r.*(xxx-2000)));
%set(gca,'xtick',[]
plot(x,y,'.',xxx,yyy);
hold on
plot(2020,3.33e+004,'.r');
hold on
plot(2050,5.252e+004,'.r');
把Y换成自己的数据就可以了 这是之前我自己做过的。
y=[2187.4515,2482.4874,2969.5184,3585.7235,4282.1428,4950.9078,5813.5624,6801.5706,7786.7920,8201.3176,9581.5101,11505.5298,12950.0601];
for i=1:length(y)-1
yy(i)=(y(i+1)-y(i))/y(i);
end
p=polyfit(y(2:end),yy,1);
r=p(2)/1;xmax=-p(2)/p(1);
xxx=2000:1:2050;
yyy=xmax./(1+(xmax/y(1)-1).*exp(-r.*(xxx-2000)));
%set(gca,'xtick',[]
plot(x,y,'.',xxx,yyy);
hold on
plot(2020,3.33e+004,'.r');
hold on
plot(2050,5.252e+004,'.r');
把Y换成自己的数据就可以了 这是之前我自己做过的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询