前言:
此刻兄弟们对“matlab平滑曲线图”可能比较看重,大家都想要知道一些“matlab平滑曲线图”的相关知识。那么小编同时在网上收集了一些对于“matlab平滑曲线图””的相关内容,希望各位老铁们能喜欢,咱们快快来了解一下吧!指数平滑法是一种特殊的加权平均法,加权的特点是对离预测值较近的历史数据给予较大的权数,对离预测期较远的历史数据给予较小的权数,权数由近到远按指数规律递减,所以,这种预测方法被称为指数平滑法。它可分为一次指数平滑法、二次指数平滑法及更高次指数平滑法。
一次指数平滑法虽然克服了移动平均法的缺点,但当时间序列的变动出现直线趋势时,用一次指数平滑法进行预测,仍存在明显的滞后偏差,因此,也必须加以修正,再作二次指数平滑,利用滞后偏差的规律建立直线趋势模型,这就是二次指数平滑法。其计算公式为:
GUI界面如下
加载数据——输入模型参数alpha、预测数据个数、x轴坐标名称、y轴坐标名称——点击开始计算即可出现结果,同时会在当前文件夹下生成预测数据的excel文件和图片预测.jpg。需要完整GUI程序,可以进行赞赏后截图(10元及以上),进行联系,或者在微信公众号“云龙派”内回复截图,几小时内会回复。界面编程不易,还请见谅!
举例计算
猪肉价格数据(数据来源:国家统计局)
日期
猪肉(去骨统肉)集贸市场价格当期值(元/公斤)
2020年1月
54.09
2020年2月
58.08
2020年3月
53.62
2020年4月
49.85
2020年5月
45.44
2020年6月
49.84
2020年7月
54.52
2020年8月
55.44
2020年9月
53.21
2020年10月
47.9
注:全国200个农产品集贸市场调查县,受新型冠状病毒肺炎疫情影响,2月份北京、黑龙江、山东、河南、湖北、重庆等共有26个县集贸市场被迫关闭,无法采集数据。为确保数据可比,1月份和上年同期数据做了同口径处理。
界面计算:
点击加载数据按键,加载数据
输入参数,点击开始计算
GUI主要程序如下:
function pushbutton9_Callback(hObject, eventdata, handles)% hObject handle to pushbutton9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global dataalpha = str2num(get(handles.edit13,'string'));num = str2num(get(handles.edit16,'string'));str1 = get(handles.edit17,'string');str2 = get(handles.edit18,'string');% yt原始数据以列向量方式存放% alpha 取值yt = data;st1(1)=yt(1);st2(1)=yt(1);n=length(yt);% 预测计算公式for i=2:n st1(i)=alpha*yt(i)+(1-alpha)*st1(i-1); st2(i)=alpha*st1(i)+(1-alpha)*st2(i-1);enda=2*st1-st2;b=alpha/(1-alpha)*(st1-st2);yhat=a+b; yhat=yhat';for i = 1:numyu(i) = a(end)+b(end)*i;enddata11 = [yhat' yu];figure;plot(data11,'b-*','linewidth',1);hold onplot(n:n+num,data11(end-num:end),'r-o','linewidth',1);grid on;xlabel(str1);ylabel(str2);legend('历史走势','未来走势')saveas(gcf,'预测.jpg');%保存生成的图片close(gcf);axes(handles.axes3);plot(data11,'b-*','linewidth',1);hold onplot(n:n+num,data11(end-num:end),'r-o','linewidth',1);grid on;xlabel(str1);ylabel(str2);legend('历史走势','未来走势')xlswrite('预测的数据.xlsx',data11');set(handles.uitable3,'data',data11');
作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙
本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
标签: #matlab平滑曲线图 #matlab画平滑曲线