数学建模社区-数学中国

标题: 求帮忙,程序有什么错误呀 [打印本页]

作者: X.w.j.拽.    时间: 2012-8-25 15:22
标题: 求帮忙,程序有什么错误呀
clc,clear
x1=[8731  8900  6588  8360  3600  5500];
n=length(x1);
nian=2005:2010;
plot(nian,x1,'o-');
x0=diff(x1);
x0=[x1(1),x0]
for i=2:n
    z1(i)=0.5*(x1(i)+x1(i-1));
end
z1
B=[-z1(2:end)',z1(2:end)'.^2]
Y=x0(2:end)'
abhat=B\Y     % 估计参数 a,b的值
x=dsolve('Dx+a*x=b*x^2','x(0)=x0');  % 求解常微分方程
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});  % 代入参数值
yuce=subs(x,'t',0:14)   % 计算预测值
digits(6);
x=vpa(x) % 显示微分方程的解,
yuce(16)=yuce(15);
x1_all=[x1,9.92,10.71];
epsilon=x1_all-yuce   % 计算残差
delta=abs(epsilon./x1_all)   % 计算相对误差
delta_mean=mean(delta)   %计算平均相对误差
x1_all_0=x1_all-x1_all(1);    % 数据列的始点零化像
yuce_0=yuce-yuce(1);    % 数据列的始点零化像
s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
tt=yuce_0-x1_all_0;
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
absdegree=(1+s0+s1)/(1 +s0+s1+s1_s0)   %计算灰色绝对关联度
c=std(epsilon,1)/std(x1_all,1)   %计算标准差比值

老是出现错误??? Error using ==> minus
Matrix dimensions must agree.
作者: hzs2012    时间: 2012-8-27 19:09
x1_all=[x1,9.92,10.71];
epsilon=x1_all-yuce   % 计算残差

在x1_all-yuce出现错误,x1_all只有八个值,yuce有十六个值。再查查思路吧。
作者: hzs2012    时间: 2012-8-27 19:10
x1_all=[x1,9.92,10.71];  epsilon=x1_all-yuce   % 计算残差   在x1_all-yuce出现错误,x1_all只有八个值,yuce有十六个值。再查查思路吧。
作者: hzs2012    时间: 2012-8-27 19:12
可否顺带说下这code干么的。。。
作者: 奋斗慰青春    时间: 2012-8-27 19:30
是啊  code是什么代码
作者: X.w.j.拽.    时间: 2012-8-28 08:07
hzs2012 发表于 2012-8-27 19:12
可否顺带说下这code干么的。。。

灰度预测代码
作者: X.w.j.拽.    时间: 2012-8-28 08:07
奋斗慰青春 发表于 2012-8-27 19:30
是啊  code是什么代码

灰度预测代码
作者: hzs2012    时间: 2012-8-29 20:40
X.w.j.拽. 发表于 2012-8-28 08:07
灰度预测代码

解决问题了么,可否分享?
作者: X.w.j.拽.    时间: 2012-8-30 08:17
hzs2012 发表于 2012-8-29 20:40
解决问题了么,可否分享?

算是解决了吧,我用了另一个程序,比上面的那个好用,可是好像上传不了附件





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5