matlab DGM(2,1)模型

DGM(2,1)模型

clc,clear;
x0=[2.874 3.278 3.39 3.679 3.77 3.8];
n=length(x0);
a_x0=diff(x0)';
B=[-x0(2:end)',ones(n-1,1)];
u=B\a_x0

syms x(t)
d2x=diff(x,2);dx=diff(x);

x=dsolve(d2x+u(1)*dx==u(2),x(0)==x0(1),dx(0)==x0(1));
xt=vpa(x,6)
yuce=subs(x,t,[0:n-1]);
yuce=double(yuce)
x0_hat=[yuce(1),diff(yuce)]
epsilon=x0-x0_hat;
delta=abs(epsilon./x0)

result

u =

    0.424
   1.7046

xt =

4.0202t + 2.70331exp(-0.423997*t) + 0.170692

yuce =

    2.874         5.96       9.3688       12.989       16.747       20.596

x0_hat =

    2.874        3.086       3.4088       3.6201       3.7584       3.8488

delta =

        0     0.058572     0.005556     0.016008    0.0030859     0.012855
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值