注册 登录
编程论坛 Matlab

求各位大虾帮助……

苏简若 发布于 2012-08-04 15:21, 567 次点击
%灰色系统做预测的matlab程序
clear;clc
syms a b;
c=[a b]';
A=[174 179 183 189 207 234 220.5 256 270 385];%数据行,竞赛时直接替换数据就行
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';
E=[-C,ones(1,n-1)];
c=inv(E*E')*E*D;
c=c';
a=c(1);b=c(2);
%预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
    F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
end
G=[];G(1)=A(1);
for i=2:(n+10)
    G(i)=F(i)-F(i-1);%得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G;a,b
plot(t1,A,'o',t2,G)


??? Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> huisexitong at 15
c=inv(E*E')*E*D;
要求矩阵内部维数一样,但是不怎么理解

[ 本帖最后由 苏简若 于 2012-8-5 14:32 编辑 ]
1 回复
#2
苏简若2012-08-05 14:31
怎么都没有人帮助解答呀,我只能结题了。
1