研发埠

标题: 多元变量灰色预测模型GM(1,N)程序为什么不能运行 [打印本页]

作者: 明德烈    时间: 2014-5-15 13:50
标题: 多元变量灰色预测模型GM(1,N)程序为什么不能运行
%多元变量灰色预测clear allclc%输入带预测时刻k及原始序列X0k=2;%预测的代数 我自己输的p1=[1 2 3 4 5 6]';p2=[2 3 4 5 6 7]';p3=[3 4 5 6 7 8]';X0=[p1 p2 p3];%对原始序列X0累加生成序列X1[n,m]=size(X0);for j=1:m c=0;for i=1:nc=X0(i,j)+c;X1(i,j)=c;endend%计算数据矩阵Lfor j=1:mfor i=1:n-1l(i,j)=(X1(i,j)+X1(i+1,j))/2;endendL=[l ones(n-1,1)];%计算Y及参数计值for j=1:mY(1:n-1,j)=X0(2:n,j);a(:,j)=inv(L'*L)*L'*Y(1:n-1,j);enda=a';A=a(1:end,1:end-1);B=a(1:end,end);%计算模型的拟合值或预测值S=X1(1,1:end);if k==1Z=S'elseif k>1Z=expm2(A*(k-1))*S'+inv(A)*(expm2(A*(k-1))-eye(size(expm2(A*(k-1)))))*B-(expm2(A*(k-2))*S'+inv(A)*(expm2(A*(k-2))-eye(size(expm2(A*(k-2)))))*B)%Expm2通过泰勒级数求矩阵指数else disp('输入错误!k不得小于1')end为啥我k=1时就能运行,换个数就不能了
作者: 刘建锋    时间: 2014-5-15 17:50
Undefined function 'expm2' for input arguments of type 'double'.你的expm2函数没定义!
作者: 明德烈    时间: 2014-5-16 10:32
这是matlab自带的函数啊,这个可以运行的,问题不在于此吧




欢迎光临 研发埠 (http://bbs.yanfabu.com/) Powered by Discuz! X3.2