?? gm2.asv
字號:
function f=gm2(x,K)
n=length(x);
x1(1)=x(1);
for i=2:n
x1(i)=x1(i-1)+x(i);
Y(i-1)=x(i);
end
for i=3:n
p(i)=x(i)/x1(i-1);
end
if p(3:n)<0.5
'光滑條件滿足'
else
p;
max(p)
'光滑條件不滿足'
end
for i=3:n
o(i)=x1(i)/x1(i-1);
end
if o(3:n)<=1.5 & o(3:n)>=0.5
'準指數規律滿足'
else
o;
max(o)
min(o)
'準指數規律不滿足'
end
for i=1:n-1
B(i,1)=-0.5*(x1(i)+x1(i+1));
B(i,2)=1;
end
ab=inv(B'*B)*B'*Y';
a=ab(1);
b=ab(2);
for i=0:n-1
x1(i+1)=(x(1)-b/a)*exp(-a*i)+b/a;
end
x0(1)=x(1);
for i=2:n
x0(i)=x1(i)-x1(i-1);
end
for i=2:n
e(i)=x(i)-x0(i);%絕對誤差
k(i)=abs(x(i)-x0(i))/x(i);%相對誤差
end
x;
x0;
'絕對誤差平方和'
s=e*e'
'平均相對誤差'
ss=sum(k(2:n))/(n-1)
if K>n
x1(K)=(x(1)-b/a)*exp(-a*(K-1))+b/a;
x1(K-1)=(x(1)-b/a)*exp(-a*(K-2))+b/a;
x0(K)=x1(K)-x1(K-1);
'預測值'
x0(K)
else
'預測值'
x0(K)
end
'模擬方程'
'x1(k)=(x(1)-b/a)*exp(-a*(k-1))+b/a'
'x0(k)=x1(k)-x1(k-1)'
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -