- 在线时间
- 326 小时
- 最后登录
- 2019-9-18
- 注册时间
- 2014-8-5
- 听众数
- 36
- 收听数
- 9
- 能力
- 0 分
- 体力
- 4485 点
- 威望
- 0 点
- 阅读权限
- 60
- 积分
- 1854
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 996
- 主题
- 413
- 精华
- 0
- 分享
- 3
- 好友
- 98
升级   85.4% TA的每日心情 | 开心 2019-9-18 21:55 |
---|
签到天数: 258 天 [LV.8]以坛为家I
 群组: 2015国赛冲刺 群组: 2016美赛公益课程 群组: 国赛讨论 群组: 第三届数模基础实训 群组: Matlab讨论组 |
- <p>%灰色Verhulst模型
- %时间:2015-7-4-六
- %页码:P380
- clc,clear
- x0=[4.93 2.33 3.87 4.35 6.63 7.15 5.37 6.39 7.81 8.35];
- x1=cumsum(x0); %求1次累加序列
- n=length(x0);
- z=0.5*(x1(2:n)+x1(1:n-1)); %求x1的均值生成序列
- B=[-z',z'.^2];
- Y=x0(2:end)';
- disp('估计参数a,b的值')
- ab_hat=B\Y %估计参数a,b的值
- x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
- x=simple(x); %对符号解进行化简
- x=subs(x,{'a','b','x0'},{ab_hat(1),ab_hat(2),x0(1)}); %代入参数值
- disp('求已知数据点1次累加序列的预测值')
- yuce=subs(x,'t',[0:n-1]) %求已知数据点1次累加序列的预测值
- disp('显示6位数字的符号解')
- x=vpa(x,6) %显示6位数字的符号解
- %{
- x0_hat=[yuce(1),diff(yuce)] %求已知数据点的预测值
- epsilon=x0-x0_hat %求残差
- delta=abs(epsilon./x0) %求相对误差
- xlswrite('book4.xls',[x0',x0_hat',epsilon',delta'])
- %}
- disp('求已知数据点的预测值')
- x0_hat=double( [yuce(1),diff( double(yuce) )] ) %求已知数据点的预测值
- disp('求残差 ')
- epsilon=double( x0-x0_hat ) %求残差
- disp(' 求相对误差')
- delta=double( abs(epsilon./x0) ) %求相对误差
- xlswrite('book4.xls',[x0',x0_hat',epsilon',delta'])</p><p><p>
- </p>
复制代码
|
zan
|