資源簡介
風電場電力系統可靠性評估的matlab程序,運用蒙特卡洛方法做的!

代碼片段和文件信息
clc
clear
year=50???%模擬的年限
for?l=1:year;
????
????%%%%%%%%%%%%%%%%%%%%%%%%%??第一步:數據導入與預處理??%%%%%%%%%%%%%%%%%%%
????
????%SW0=load(‘windspeed.txt‘);????%載入原始風速數據
????SW0=xlsread(‘windspeed.xls‘);
????SW0=SW0‘;
????SW0=SW0/10*3.6;????%原始數據的風速單位為0.1m/s,這里轉化為km/h
????N=size(SW02);
????mu=mean(SW0);
????sigma=var(SW0);
????sigma=sigma^0.5;????%求樣本的平均值和標準差
????y=(SW0-mu)./sigma;????%數據預處理
????
????%?figure(1);
????%?subplot(211);
????%?autocorr(y);?????%畫出自相關圖
????%?title(‘自相關圖‘);
????%?subplot(212);
????%?parcorr(y);????%畫出偏自相關圖
????%?title(‘偏相關圖‘);
????
????
????%%%%%%%%%%%%%%??第二步:根據AIC準則確定ARMA模型的階數??%%%%%%%%%%%%%%%%%%
????
????for?n=2:7;
????????m=armax(y‘[nn-1]);
????????fai=-m.a;
????????theta=m.c;????%把armax函數得到的參數,取出來
????????
????????for?i=1:n;
????????????y1(i)=y(i);
????????end
????????
????????Noise=m.NoiseVariance^0.5;
????????e=normrnd(0Noise1N);
????????for?t=n+1:1:N;
????????????y1(t)=0;
????????????for?j=2:n+1;
????????????????y1(t)=y1(t)+fai(j)*y1(t-(j-1));
????????????end
????????????for?k=1:n;
????????????????y1(t)=y1(t)+theta(k)*e(t-(k-1));
????????????end
????????end????%y1(t)為預測值
????????
????????s(n)=0;
????????for?i1=1:N;
????????????residual=y1(i1)-y(i1);
????????????s(n)=s(n)+residual^2;????%求取殘差平方和
????????end
????????
????????AIC(n)=N*log(s(n))+2*n-1;????%求AIC
????end
????
????arma=AIC(12:7);????%n=2-7時,各AIC的值
????[AICn1]=min(arma);
????n1=n1+1;????%n1為得到的ARMA模型的階數
????
????%%%%%%%%%%%%%%%%%??第三步:用ARMA模型預測風速并確定風速分布??%%%%%%%%%%%%%%%%%
????
????m=armax(y‘[n1n1-1]);
????fai=-m.a;
????theta=m.c;
????
????for?i=1:n1;
????????y2(i)=y(i);
????end
????
????Noise=m.NoiseVariance^0.5;
????e=normrnd(0Noise18736);
????for?t=n1+1:1:8736;
????????y2(t)=0;
????????for?j=2:n1+1;
????????????y2(t)=y2(t)+fai(j)*y2(t-(j-1));
????????end
????????for?k=1:n1;
????????????y2(t)=y2(t)+theta(k)*e(t-(k-1));
????????end
????end????%y1(t)為預測值
????y2;
????SW=y2.*sigma+mu;
????
????%?????figure(2)
????%?????subplot(121);
????%?????hist(SW0100);
????%?????xlabel(‘風速‘);ylabel(‘頻數‘);title(‘原始風速的分布‘);
????%?????subplot(122);
????%?????hist(SW100);
????%?????xlabel(‘風速‘);ylabel(‘頻數‘);title(‘預測風速的分布‘);
????
????
????%得到8736個小時的預測風速:SW?1*8736
????
????
????%%%%%%%??第四步:風電場的轉移過程,確定其一年中三種狀態分別存在的時長%%%%%%%
????
????%風電機組的三狀態模型
????lambdaRD=5.84;lambdaRF=7.96;lambdaDR=48.3;lambdaFR=58.4;lambdaDF=0;lambdaFD=0;????%風力發電機的3個狀態的轉移率
????T=[1?1?1;lambdaRD?-lambdaDR-lambdaDF?lambdaFD;lambdaRF?lambdaDF?-lambdaFR-lambdaFD];
????T=inv(T);
????probWTG=T*[1;0;0];????%風力發電機分別處于運行、降額以及停運狀態的概率
????TR=8760/(lambdaRD+lambdaRF);TD=8760/(lambdaDR+lambdaDF);TF=8760/(lambdaFD+lambdaFR);
????
????WTGnum=25;
????
????R1=rand(WTGnum1000);????%R1確定風力發電機所處的狀態
????R2=rand(WTGnum1000);????%R2確定該狀態所持續的時間
????D=zeros(WTGnum1000);????%D記錄每個狀態所處的時間
????time=zeros(WTGnum1001);????%time記錄每個狀態變化的時間節點
????alpha1=zeros(WTGnum1000);????%alpha1記錄每個狀態分別是什么
????
????N1
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9037??2019-01-01?22:05??fengdianchang.m
-----------?---------??----------?-----??----
?????????????????9037????????????????????1
- 上一篇:pso_lssvm回歸預測
- 下一篇:matlab的mpt工具箱含voronoi函數
評論
共有 條評論