同样的程序不同的答案
这里有两个灰色预测的程序,数据和程序过程完全一样,可是算出来的结果却相差很远,求高手解释!!为什么?%下降的
clear,clc
A=;
syms a b;
c=';
B=cumsum(A); %原始数据累加
n=length(A);
for i=1:(n-1)
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
end
%计算待定参数的值
D=A;%收入
D(1)=[]; %将D中第一个数据取空,为构造列向量
D=D';
E=[-C;ones(1,n-1)]; %构造数据矩阵
c=inv(E*E')*E*D; %用最小二乘法求a b的合成列向量
c=c';
a=c(1)
b=c(2)
%预测后续数据
F=[];F(1)=A(1);
for i=2:(n+40)
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
end
G=[];G(1)=A(1);
for i=2:(n+40)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1989:2011;
t2=1989:2051;
G
plot(t1,A,'o',t2,G) %原始数据与预测数据的比较
%上升的,这个才是正确的
clear,clc
A=;
syms a b;
c=';
B=cumsum(A); %原始数据累加
n=length(A);
for i=1:(n-1)
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
end
%计算待定参数的值
D=A;
D(1)=[]; %将D中第一个数据取空,为构造列向量
D=D';
E=[-C;ones(1,n-1)]; %构造数据矩阵
c=inv(E*E')*E*D; %用最小二乘法求a b的合成列向量
c=c';
a=c(1)
b=c(2)
%预测后续数据
F=[];F(1)=A(1);
for i=2:(n+40)
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
end
G=[];G(1)=A(1);
for i=2:(n+40)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1989:2011;
t2=1989:2051;
G
plot(t1,A,'o',t2,G) %原始数据与预测数据的比较 为什么设置不到免费下载的?而且程序也不能让可以解答的人直接拷去,这点数学中国要改进下啊!虽然流量会大增,可是这样我们要问的问题很不方便啊! 月亮树 发表于 2012-8-18 11:49 static/image/common/back.gif
为什么设置不到免费下载的?而且程序也不能让可以解答的人直接拷去,这点数学中国要改进下啊!虽然流量会大 ...
主要是因为没有体力的激励机制,人们的积极性会受到影响,你要是问问题可以设置体力奖励,这样回答问题的人可以从你那里获得体力,不至于亏到
问问题的时候最好设置悬赏,这样回答的人也比较有积极性了。 madio 发表于 2012-8-18 12:12 static/image/common/back.gif
主要是因为没有体力的激励机制,人们的积极性会受到影响,你要是问问题可以设置体力奖励,这样回答问题的人可 ...
好的!谢谢!我本来是有设-2的,没想到还要用多2个体力来买!我看看怎么设,谢谢!:lol darker50 发表于 2012-8-19 12:59 static/image/common/back.gif
问问题的时候最好设置悬赏,这样回答的人也比较有积极性了。
在学怎么设奖励!奖励体力积分这些当然没问题!嘻嘻!
页:
[1]