matlab报告.docx
《matlab报告.docx》由会员分享,可在线阅读,更多相关《matlab报告.docx(17页珍藏版)》请在冰点文库上搜索。
![matlab报告.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/08f4847f-555c-4e1a-991d-42adecb62f4f/08f4847f-555c-4e1a-991d-42adecb62f4f1.gif)
matlab报告
专业课程报告
题目:
仿真技术与应用课程报告
学院电气工程学院
评语
课程总评成绩:
指导老师:
2013年12月20日
目录
一、负荷预测技术发展情况1
二、算法实现1
2.1GM(1,1)预测模型1
2.2算法流程图3
三、编程代码3
四、算例测试4
4.1阳江市历史用电4
4.2预测结果5
4.3预测数据检验6
4.3.1预测数据检验方法6
4.3.2后验差校验法步骤:
6
4.3.4各项预测校对参数7
五、心得体会7
六、参考文献8
附录8
一、负荷预测技术发展情况
电力负荷预测就是考虑系统运行特性、自然条件、社会条件和地区经济发展状况等重要因素影响的条件,利用历史负荷值经过一系列的数学计算,在满足一定精度的情况下,决定未来某特定时刻的负荷值。
电力负荷预测是电力系统各种安全技术措施的重要组成部分,它和继电保护、稳定计算、短路计算一样,对电力系统的安全、经济、稳定运行有着非常重要的作用。
在进入市场经济的今天,尤其面临着电力市场改革,准确的负荷预测能够合理地安排机组运行容量,提高机组的利用率,减少必要的旋转备用容量,降低能源损耗,保证电能质量,从而有效地降低发电成本并提高经济效益和社会效益。
几种常用的预测方法有:
回归分析法又称统计分析法,也是目前广泛应用的定量预测方法,其任务是确定预测值和影响因子之间的关系。
趋势分析又称趋势曲线分析、曲线拟合或曲线回归,趋势分析法是迄今为止研究最多、流行最广的定量预测方法。
指数平滑法是用以往的历史数据的指数加权组合来直接预报时间序列的将来值。
能耗法是根据第一、第二、第三产业每单位用电量创造的经济价值,从预测经济指标推算用电需求量,加上居民生活用电量,构成全社会用电量。
预测时,通过对过去的单位产值耗电量进行统计分析,并结合产业结构调整,找出一定的规律,预测规划期第一、第二、第三产业的综合单耗,然后根据国民经济和社会发展规划的指标,按单耗进行预测。
现在主要用灰色模型为例子做电力电力负荷预测的模型。
二、算法实现
将原始数列中的数据按某种要求作数据处理(或数据变换),称为生成。
而利用生成的方法求得的随机性弱化、规律性强化的新数列就称为生成数。
灰色预测法就是利用生成数建模的一种方法。
2.1GM(1,1)预测模型
GM(1,1)模型是最常用的一种灰色模型(GreyModel),它是由一个只包含单变量的一阶微分方程构成的模型。
该方法的建模步骤如下:
(1)灰色生成
将原始序列
通过下式累加
(1)
生成序列
。
(2)建立矩阵B
利用生成序列
构造一阶线性微分方程模型
(2)
利用离散一阶微分方程的解法可得
(3)
写成矩阵形式有
(4)
(3)求解系数矩阵A
由矩阵的最小二乘法解得
(5)
(4)利用时间响应方程计算拟合值
(6)
(5)累减还原
(7)
(7)模型检验
模型检验一般包括残差检验、后验差检验和关联度检验。
残差检验是按点检验,后验差检验是残差分布统计特性的检验,关联度检验是建立的模型与指定函数之间近似性的检验。
在此次预测中,我采用的是一阶一元灰色模型。
2.2算法流程图
三、编程代码
%用MATLAB的灰色预测GM(1,1)模型
%程序中的变量定义;alpha是包值的矩阵;ago是预测后累加值矩阵;var是预测值矩阵;error是残差矩阵;c是后验差比值
x=input('请输入据:
');%输入原始数据
m=input('请输入需要预测的年数:
');%输入需要预测的年数
formatlong;%设置计算精度
iflength(x(:
1))==1%对输入矩阵进行判断,如不是一维列矩阵,进行转置变换
x=x';
end
n=length(x);%取输入数据的样本量
z=0;
fori=1:
n%计算累加值,并将值赋予矩阵be
z=z+x(i,:
);
be(i,:
)=z;
end
fori=2:
n%对原始数列平行移位
y(i-1,:
)=x(i,:
);
end
fori=1:
n-1%计算数据矩阵B的第一列数据
c(i,:
)=-0.5*(be(i,:
)+be(i+1,:
));
end
forj=1:
n-1%计算数据矩阵B的第二列数据
e(j,:
)=1;
end
fori=1:
n-1%构造数据矩阵B
B(i,1)=c(i,:
);
B(i,2)=e(i,:
);
end
alpha=inv(B'*B)*B'*y;%计算参数矩阵
fori=1:
n+m%计算数据估计值的累加数列,如改为n+1为n+m可预测后m-1个值
ago(i,:
)=(x(1,:
)-alpha(2,:
)/alpha(1,:
))*exp(-alpha(1,:
)*(i-1))+alpha(2,:
)/alpha(1,:
);
end
var(1,:
)=ago(1,:
)
fori=1:
n+m-1%如改n为n+m-1,可预测后m-1个值
var(i+1,:
)=ago(i+1,:
)-ago(i,:
);%估计值的累加数列的还原,并计算出下一预测值
end
fori=1:
n
error(i,:
)=var(i,:
)-x(i,:
);%计算残差
end
c=std(error)/std(x);%调用统计工具箱的标准差函数计算后验差的比值c
disp('预测值的累加数列')
ago%显示输出预测值的累加数列
disp('参数数列')
alpha%显示输出参数数列
plot(var)%显示输出预测值
xlabel('年份,单位:
年(2为2002年,4为2004年,以此类推)')%x轴说明
ylabel('全社会用电量,单位:
亿kWh')%y轴说明
title('阳江市社会用电量预测曲线')%x,y,图形说明
disp('误差')
error%显示输出误差
disp('后验差的比值c')
c%显示后验差的比值c
四、算例测试
4.1阳江市历史用电
4.2预测结果
1)2009年到2016年预测结果如下
请输入据:
[12.08813.3815.0317.5320.5222.4625.7925.2330.39]
请输入需要预测的年数:
8
var=
.0879********
2.05459283618968
2.85865983095576
3.97739926139097
5.53395850503287
7.69967879078744
10.71295591164714
14.90548209650162
20.73875766515414
28.85489155663971
40.14728269593529
55.85896258537343
77.71942436916314
预测值的累加数列
ago=
1.0e+002*
0.12088000000000
0.26194505222414
0.41924889768729
0.59466087540505
0.79026551454316
1.00838730616853
1.25161832661622
1.52284904073777
1.82530265108518
2.16257340122297
2.53866928835041
2.95805969281444
3.42572849052428
3.94723327943541
4.52877142392795
5.177********572
5.90038642995016
参数数列alpha=
-0.10895810917327
12.03486365258508
误差
error=
-0.00000000000001
0.72650522241406
0.70038454631538
0.01119777177604
-0.95953608618963
-0.64782083746280
-1.46689795523148
1.89307141215527
-0.14463896525878
后验差的比值c
c=0.16133437312937
负荷预测曲线如下图
图4-2阳江市8年负荷预测图
4.3预测数据检验
4.3.1预测数据检验方法
后验差检验法
4.3.2后验差校验法步骤:
设历史负荷序列为:
设预测值序列为:
记K时刻实际值
与计算值(预测值)
称为k时刻的残差
=
记实际值
,即
=
记残差
,有
=
其中,m为预测残差数据的个数
记历史数据(实际值)方差为
记残差方差为
,有
则可得后验差检验的两个重要数据,就是后验差值C,小误差概率P
其中C表示预测值于实际值的离散程度,P表示残差与残差平均值之差小于给定值
的概率,指标C越小越好,这表明模型所得的预测值与实际值之差并不太离散,指标P越大越好,这表明残差与残差平均值之差小于给定值
的点较多。
根据C和P两个指标,可以综合评定预测模型的精度,如下表4-3-2
预测精度PC预测精度等级PC
好(一级)>0.95<0.35勉强>0.7<0.45
合格(二级)>0.8<0.5不合格<=0.7>=0.65
表4-3-2预测模型的精度评定
4.3.4各项预测校对参数
灰色模型校对参数如下:
实际
平均值
残差
平均值
实际值
方差
残差方差
后验差
比值
C
小误差
概率
P
40.2333
0.738778
36.02889
1.686251
0.161
1
表4-3-3灰色模型校对结果
五、心得体会
通过初步对matlab的学习,我觉得收获很大。
我了解到matlab是一个功能很大的数学实验软件,即一个很好的计算机数学软件平台。
我在学习matlab主要是围绕实验,初步学习了一些简单的矩阵运算以及简单的图形,课上主要学习使用matlab解决老师给的问题,课上所学的知识内容好虽然不多,但是真正使用起来还是很有技巧,在我们的生活也有很大的作用。
但现在我所学到的matlab技术还是很初步的,但是我已经了解到matlab的实用性很大,学习好这门技术对我日后的发展有很大的帮助,所以在今后的学习中,我会继续深入学习这门技术。
Matlab的功能强大,对我们现在学习的线性代数是非常有帮助的,利用这款软件会是我们原本复杂的计算变得简单明了。
Matlab的优点计算方便、快捷、准确、操作方便,流程简单。
虽然matlab优点很多,但是我开始对matlab这门技术并不是很了解,开始以为只是一个计算矩形的软件,但是随着学习的深入我对matlab的了解也相应深入,才知道matlab不仅可以运算矩阵,运算处理一些数据,还可以用于编程并且和其他的计算机编程有很大的区别。
Matlab是一种专业的计算机程序,主要用于工程科学矩阵数学运算。
但我相信在未来的几年里,它会渐渐发展陈一种非常灵活的计算体系,可以解决更多的技术问题。
Matlab是一个高级的矩阵/阵列语言,它包含很多语句,其中有控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行,就象C语言和C++一样可以先定义后使用。
并且新版本的MATLAB语言是基于最为流行的C语言和C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
在这个运用matlab解决电力电量负荷预测的仿真过程,不仅加深了我对matlab的理解也让我对电力电量负荷预测有了更深入的认识。
六、参考文献
附录
MATLAB程序运行结果截图