matlab灰色预测代码学习

clc,clear
x0 = [71.01 72.4 72.4 72.1 71.4 72.0 71.6];
n = length(x0);
lamda = x0(1:n-1)./x0(2:n)
range = minmax(lamda)
x1 = cumsum(x0)%输出的数字累加
for i = 2:n
    z(i) = 0.5*(x1(i)+x1(i-1));
end
B = [-z(2:n)',ones(n-1,1)];%ones是形成一个a*b的数组,数组中的数都是1
Y = x0(2:n)';
u = B\Y
x =dsolve('Dx + a*x = b','x(0) = x0');%dsolve得到微分方程解析式
x = subs(x,{'a','b','x0'},{u(1),u(2),x1(1)});
yuce1 = subs(x,'t',[0:n-1]);%将第0,1,....个数替换到t中
digits(6),y = vpa(x)%digits也是精确数值个数
q = vpa(yuce1)
r = diff(q)
yuce = [x0(1), 72.4060   72.2360   72.0670   71.8990   71.7300   71.5620
]
epsilon = x0 - yuce
delta = abs(epsilon./x0)
%rho = 1-(1-0.5*u(1))/(1+0.5u(1))*lamda
% syms f(d);
% f(d)=cos(d);
% vpa(f(1))
% x = [1 2 3 6 5 4 8 9];
% y = [3 5 6 9 4 8 2 6];
% z = x-y《《《《vpa的作用

其中diff(vpa(yuce))不能直接得出答案,是一个未解决的疑问点

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值