7808053 发表于 2010-9-12 14:17

请高手帮我看看这个GM(1:N)程序错在哪啊?谢谢了

请高手帮我看看这个GM(1:N)程序错在哪啊?我看了好久都不知道哪错了,改了一些还是错的,请大家帮帮忙,谢谢。

??? Error using ==> horzcat
All matrices on a row in the bracketed expression must have the
same number of rows.
这些是他给出的错误提示。软件用的是Matlab的。

7808053 发表于 2010-9-12 14:18

这是程序
clc,clear
x10=[272.81        286.64        311.89        324.76        337.07        351.81        390.85        466.75        490.83        545.46        648.3        696.54        781.66        893.77        1114.32        1519.23        1990.86        2499.43        2957.55        3438.79        3801.09        4188.73        4771.17        5210.12        5741.03
];
x20=[211.05        221.21        236.1        244.34        249.32        255.32        275.37        325.63        336.02        364.38        433.05        466.18        505.6        550.64        677.39        902.38        1148.45        1419.41        1596.72        1774.02        1871.89        1984.64        2207.63        2403.18        2622.45
];
x30=[50.76        53.83        65.69        69.84        74.44        82.97        98.22        121.59        135.12        159.48        187.89        200.73        241.82        309.07        402.77        579.03        794.8        1020.2        1292.11        1592.74        1855.36        2129.6        2486.86        2728.94        3038.9
];
n=length(x10);
x11=cumsum(x10)
x21=cumsum(x20)
x31=cumsum(x30)
for i=2:n
z11(i)=0.5*(x11(i)+x11(i-1));
end
B=[-z11(2:n)',x21(2:n)',x31(2:n)];
Y=x10(2:n)';
u=B\Y
x=dsolve('Dx+a*x=b2*x2+b3*x3','x(0)=x0');%求解符号常微分方程
x=subs(x,{'a','b2',''b3','x0','x2','x3'},{u(1),u(2),u(3),x10(1),'x21','x31'});
digits(6),x=vpa(x);%确定符号数值的有效数字位数和给出数值型符号结果
x=simple(x)%运用各种指令化简符号表达式
x=subs(x,{'t','x21','x31'},{,x21(1:n),x31(1:n)})
xhat=%求导数、差分和近似微分
epsilon=x10-xhat
delta=abs(epsilon./x10)%模

7808053 发表于 2010-9-12 14:20

程序的目的是要求解出时间相应函数和对以后的一个预测。。

qibbxxt 发表于 2010-9-12 16:30

clc,clear
x10=[272.81      286.64      311.89      324.76      337.07      351.81      390.85      466.75      490.83      545.46      648.3      696.54      781.66      893.77      1114.32      1519.23      1990.86      2499.43      2957.55      3438.79      3801.09      4188.73      4771.17      5210.12      5741.03
];
x20=[211.05      221.21      236.1      244.34      249.32      255.32      275.37      325.63      336.02      364.38      433.05      466.18      505.6      550.64      677.39      902.38      1148.45      1419.41      1596.72      1774.02      1871.89      1984.64      2207.63      2403.18      2622.45
];
x30=[50.76      53.83      65.69      69.84      74.44      82.97      98.22      121.59      135.12      159.48      187.89      200.73      241.82      309.07      402.77      579.03      794.8      1020.2      1292.11      1592.74      1855.36      2129.6      2486.86      2728.94      3038.9
];
n=length(x10);
x11=cumsum(x10)
x21=cumsum(x20)
x31=cumsum(x30)
for i=2:n
z11(i)=0.5*(x11(i)+x11(i-1));
end
B=[-z11(2:n)',x21(2:n)',x31(2:n)'];
Y=x10(2:n)';
u=B\Y
x=dsolve('Dx+a*x=b2*x2+b3*x3','x(0)=x0');%求解符号常微分方程
x=subs(x,{'a','b2','b3','x0','x2','x3'},{u(1),u(2),u(3),x10(1),'x21','x31'});
digits(6),x=vpa(x);%确定符号数值的有效数字位数和给出数值型符号结果
x=simple(x)%运用各种指令化简符号表达式
x=subs(x,{'t','x21','x31'},{,x21(1:n),x31(1:n)})
xhat=%求导数、差分和近似微分
epsilon=x10-xhat
delta=abs(epsilon./x10)%模我改了一下,有几个基础的问题,由于我的电脑没有符号工具箱, 没有办法继续调,你自己改一改吧

7808053 发表于 2010-9-15 14:00

谢谢啊,呵呵!这下可以好好学学了。
页: [1]
查看完整版本: 请高手帮我看看这个GM(1:N)程序错在哪啊?谢谢了