发电系统裕度表生成及可靠性指标计算21页word文档.docx

上传人:b****7 文档编号:25508329 上传时间:2023-06-09 格式:DOCX 页数:17 大小:28.09KB
下载 相关 举报
发电系统裕度表生成及可靠性指标计算21页word文档.docx_第1页
第1页 / 共17页
发电系统裕度表生成及可靠性指标计算21页word文档.docx_第2页
第2页 / 共17页
发电系统裕度表生成及可靠性指标计算21页word文档.docx_第3页
第3页 / 共17页
发电系统裕度表生成及可靠性指标计算21页word文档.docx_第4页
第4页 / 共17页
发电系统裕度表生成及可靠性指标计算21页word文档.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

发电系统裕度表生成及可靠性指标计算21页word文档.docx

《发电系统裕度表生成及可靠性指标计算21页word文档.docx》由会员分享,可在线阅读,更多相关《发电系统裕度表生成及可靠性指标计算21页word文档.docx(17页珍藏版)》请在冰豆网上搜索。

发电系统裕度表生成及可靠性指标计算21页word文档.docx

发电系统裕度表生成及可靠性指标计算21页word文档

实验一发电机组停运表生成

一、实验目的

1、熟悉发电机组停运表的生成原理;

2、掌握用计算机编程形成发电机组停运表的方法。

二、实验原始数据及内容

1、实验原始数据:

某发电系统有A、B、C三台发电机组,其容量分别为30MW、40MW和50MW,强迫停运率分别为0.04、0.06和0.08,平均修复时间为38.0208333天。

2、实验内容:

(1)编制形成发电机组停运的程序;

(2)形成实验数据给出的三台发电机组停运表。

3、实验程序形成框图

4、实验程序结果

1、输入显示

2、结果显示

3、总结果显示

5、程序代码清单

实验一与实验三的程序编写在一个程序中,程序代码在实验三中。

6、心得体会

在编写第一个程序时c语言和matlab差距不太大,所要的数据也不多。

7、参考资料

1、电力系统规划基础

实验二负荷停运表生成

一、实验目的

1、熟悉负荷停运表的生成原理;

2、掌握用计算机编程形成负荷停运表的方法。

二、实验原始数据及实验内容

1、实验原始数据

某系统最大负荷为100MW,负荷曲线如图1所示。

图1某系统的日负荷曲线

2、实验内容

(1)编制形成负荷停运表的程序;

(2)形成图1所示的负荷停运表。

三、实验程序形成框图

以下两个框图:

第一个是整个程序的形成框图,第二个是负荷频率表程序的形

成框图。

(2)负荷频率表的程序形成框图如下:

四、实验程序结果

1、输入系统的相关信息:

2、负荷频率表的形成矩阵结果如下:

3、负荷停运表的形成矩阵结果如下:

五、程序代码清单

clear;

PM=input('请输入系统的日负荷曲线对应的最大负荷PM:

PM=');

L=input('请输入系统的日负荷曲线对应的负荷L:

L=');

DX=input('请输入步长DX:

DX=');

T=length(L);%根据日负荷曲线确定周期T%%%%%%%%%%%%%%%%%%%%

n=PM/DX+1;FHTYB=zeros(n,5);

%定义负荷停运表矩阵初值%%%%%%%%%%%%%%

M=zeros(n,1);

fori=1:

n

FHTYB(i,1)=i-1;

end

%使负荷停运表矩阵第一列为序号%%%%%%%%%%%%%%%%%%%%%%%%%%%

fori=1:

n

FHTYB(i,2)=FHTYB(i,1)*DX;

end

%负荷停运表矩阵第二列为负荷功率%%%%%%%%%%%%%%%%%%%%%%%%%%

fori=1:

n

forj=1:

T

ifL(j)==FHTYB(i,2);

M(i)=M(i)+1;

end

end

end

fori=1:

n

ifM(i)~=0

FHTYB(i,5)=M(i)/T;

end

end

%负荷停运表矩阵第五列为确切概率%%%%%%%%%%%%%%%%%%%%%%%%%%

fori=1:

n

forj=i:

n

FHTYB(i,3)=FHTYB(i,3)+FHTYB(j,5);

end

end

%负荷停运表矩阵第三列为累积概率%%%%%%%%%%%%%%%%%%%%%%%%%%

fhplb=zeros(n,T+2);

NS=L(T)/DX+1;%扫描从零时刻开始,负荷水平取最后一个小时的负荷%%%%%

forI=1:

T

NS1=L(I)/DX+1;

ifNS>NS1

K=NS1+1;

forK=NS1+1:

NS

fhplb(K,I)=1;

fhplb(K,T+2)=fhplb(K,T+2)+1;

%只在负荷减少时记录为1,则横向相加就是累积频率%%%%%%%

end

NS=NS1;

I=I+1;

else

K=NS;

forK=NS:

NS1-1

fhplb(K,I)=-1;

end

NS=NS1;

I=I+1;

end

end

fori=1:

n

forj=1:

T

fhplb(i,T+1)=fhplb(i,T+1)+fhplb(i,j);

end

end

fori=1:

n

FHTYB(i,4)=fhplb(i,T+2);

end

%负荷停运表矩阵第四列列为累积频率%%%%%%%%%%%%%%%%%%%%%%%%

disp('负荷频率表');

fhplb

disp('负荷停运表');

FHTYB

%使所求的结果表现出负荷频率表矩阵,负荷停运表矩阵%%%%%%%%%%%%%%%

六、参考资料

1、《电力系统规划基础》

2、《电力系统的MATLAB/SIMULINK仿真与应用》

实验三发电系统裕度表生成及可靠性指标计算

一、实验目的

1、熟悉发电系统可靠性计算原理;

2、掌握用计算机编程形成发电系统裕度表的方法;

3、掌握根据发电系统裕度表计算发电系统可靠性指标的方法

二、实验原始数据及实验内容

1、实验原始数据

某发电系统有3台发电机组,其容量分别为30MW,40MW和50MW,

强迫停运率分别为0.05,0.09和0.07,平均修复时间均为38.0208333天。

系统最大负荷为100MW,负荷曲线如图1所示。

2、实验内容

(1)编制形成发电系统裕度表及计算发电系统可靠性指标的程序;

(2)形成实验数据所给出的发电系统裕度表;

(3)计算实验数据所给出的发电系统可靠性指标。

三、实验程序形成框图

四、实验程序结果

5、程序代码清单

#include

main()

{intP1,P2,P3;

floatq1,q2,q3;

floatF1,F2,F3;

floatMTTR1,MTTR2,MTTR3;

floatu1,u2,u3;

floatp1,p2,p3;

doubleN1[10]={0},M1[10]={0},O1[10]={0},K1[10]={0},N2[10]={0},M2[10]={0},O2[10]={0},K2[10]={0},N3[10]={0},M3[10]={0},O3[10]={0},K3[10]={0};

doubleN4[20]={0},M4[20]={0},O4[20]={0},K4[20]={0},N5[20]={0},M5[20]={0},O5[20]={0},K5[20]={0};

inti,j;

doubleN6[20]={0},M6[20]={0},O6[20]={0},K6[20]={0};

doubleN7[30]={0},M7[30]={0},O7[30]={0};

doubleLOLP,EENS=0,LOLF;

//机组1停运表

printf("请输入机组1容量");

scanf("%d",&P1);

printf("请输入机组1强迫停运率");

scanf("%f",&q1);

printf("请输入机组1平均修复时间");

scanf("%f",&MTTR1);

u1=1/MTTR1;

F1=q1*u1;

p1=1-q1;

printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");

printf("0\t0\t1\t0\t%f\n",p1);

printf("1\t%d\t%f\t%f\t%f\n",P1,q1,F1,q1);

N1[0]=1;

for(i=1;i<=(P1/10);i++)

N1[i]=q1;

M1[0]=0;

for(i=1;i<=(P1/10);i++)

M1[i]=F1;

O1[0]=p1;

for(i=1;i<(P1/10);i++)

O1[i]=0;

O1[(P1/10)]=q1;

K1[0]=0-F1;

for(i=1;i<(P1/10);i++)

K1[i]=0;

K1[(P1/10)]=F1;

//机组2停运表

printf("请输入机组2容量");

scanf("%d",&P2);

printf("请输入机组2强迫停运率");

scanf("%f",&q2);

printf("请输入机组2平均修复时间");

scanf("%f",&MTTR2);

u2=1/MTTR2;

F2=q2*u2;

p2=1-q2;

printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");

printf("0\t0\t1\t0\t%f\n",p2);

printf("1\t%d\t%f\t%f\t%f\n",P2,q2,F2,q2);

N2[0]=1;

for(i=1;i<=(P2/10);i++)

N2[i]=q2;

M2[0]=0;

for(i=1;i<=(P2/10);i++)

M2[i]=F2;

O2[0]=p2;

for(i=1;i<(P2/10);i++)

O2[i]=0;

O2[(P2/10)]=q2;

K2[0]=0-F2;

for(i=1;i<(P2/10);i++)

K2[i]=0;

K2[(P2/10)]=F2;

//机组3停运表

printf("请输入机组3容量");

scanf("%d",&P3);

printf("请输入机组3强迫停运率");

scanf("%f",&q3);

printf("请输入机组3平均修复时间");

scanf("%f",&MTTR3);

u3=1/MTTR3;

F3=q3*u3;

p3=1-q3;

printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");

printf("0\t0\t1\t0\t%f\n",p3);

printf("1\t%d\t%f\t%f\t%f\n",P3,q3,F3,q3);

N3[0]=1;

for(i=1;i<=(P3/10);i++)

N3[i]=q3;

M3[0]=0;

for(i=1;i<=(P3/10);i++)

M3[i]=F3;

O3[0]=p3;

for(i=1;i<(P3/10);i++)

O3[i]=0;

O3[(P3/10)]=q3;

K3[0]=0-F3;

for(i=1;i<(P3/10);i++)

K3[i]=0;

K3[(P3/10)]=F3;

//1、2机组并联

N4[0]=O1[0]*N2[0]+O1[1]*N2[0]+O1[2]*N2[0]+O1[3]*N2[0];

N4[1]=O1[0]*N2[1]+O1[1]*N2[0]+O1[2]*N2[0]+O1[3]*N2[0];

N4[2]=O1[0]*N2[3]+O1[1]*N2[1]+O1[2]*N2[0]+O1[3]*N2[0];

M4[0]=O1[0]*M2[0]+O1[1]*M2[0]+O1[2]*M2[0]+O1[3]*M2[0]+K1[0]*N2[0]+K1[1]*N2[0]+K1[2]*N2[0]+K1[3]*N2[0];

M4[1]=O1[0]*M2[1]+O1[1]*M2[0]+O1[2]*M2[0]+O1[3]*M2[0]+K1[0]*N2[1]+K1[1]*N2[0]+K1[2]*N2[0]+K1[3]*N2[0];

M4[2]=O1[0]*M2[2]+O1[1]*M2[1]+O1[2]*M2[0]+O1[3]*M2[0]+K1[0]*N2[2]+K1[1]*N2[1]+K1[2]*N2[0]+K1[3]*N2[0];

O4[0]=O1[0]*O2[0]+O1[1]*0+O1[2]*0+O1[3]*0;

O4[1]=O1[0]*O2[1]+O1[1]*O2[0]+O1[2]*0+O1[3]*0;

O4[2]=O1[0]*O2[1]+O1[1]*O2[1]+O1[2]*O2[0]+O1[3]*0;

K4[0]=O1[0]*K2[0]+K1[0]*O2[0];

K4[1]=O1[0]*K2[1]+O1[1]*K2[0]+K1[0]*O2[1]+K1[0]*O2[1];

K4[2]=O1[0]*K2[2]+O1[1]*K2[1]+O1[2]*K2[0]+K1[0]*O2[2]+K1[1]*O2[1]+K1[2]*O2[0];

for(i=3;i<=((P1/10)+(P2/10));i++)

{N4[i]=O1[0]*N2[i-0]+O1[1]*N2[i-1]+O1[2]*N2[i-2]+O1[3]*N2[i-3];

M4[i]=O1[0]*M2[i-0]+O1[1]*M2[i-1]+O1[2]*M2[i-2]+O1[3]*M2[i-3]+K1[0]*N2[i-0]+K1[1]*N2[i-1]+K1[2]*N2[i-2]+K1[3]*N2[i-3];

O4[i]=O1[0]*O2[i-0]+O1[1]*O2[i-1]+O1[2]*O2[i-2]+O1[3]*O2[i-3];

K4[i]=O1[0]*K2[i-0]+O1[1]*K2[i-1]+O1[2]*K2[i-2]+O1[3]*K2[i-3]+K1[0]*O2[i-0]+K1[1]*O2[i-1]+K1[2]*O2[i-2]+K1[3]*O2[i-3];

printf("机组1与机组2并联的停运表\n");

printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");

for(i=0;i<=((P1/10)+(P2/10));i++)

{j=10*i;

printf("%d\t%d\t%1.10f\t%1.10f\t%1.10f\n",i,j,N4[i],M4[i],O4[i]);

//全部并联

N5[0]=O3[0]*N4[0]+O3[1]*N4[0]+O3[2]*N4[0]+O3[3]*N4[0]+O3[4]*N4[0]+O3[5]*N4[0];

N5[1]=O3[0]*N4[1]+O3[1]*N4[0]+O3[2]*N4[0]+O3[3]*N4[0]+O3[4]*N4[0]+O3[5]*N4[0];

N5[2]=O3[0]*N4[2]+O3[1]*N4[1]+O3[2]*N4[0]+O3[3]*N4[0]+O3[4]*N4[0]+O3[5]*N4[0];

N5[3]=O3[0]*N4[3]+O3[1]*N4[2]+O3[2]*N4[1]+O3[3]*N4[0]+O3[4]*N4[0]+O3[5]*N4[0];

N5[4]=O3[0]*N4[4]+O3[1]*N4[3]+O3[2]*N4[2]+O3[3]*N4[1]+O3[4]*N4[0]+O3[5]*N4[0];

M5[0]=O3[0]*M4[0]+O3[1]*M4[0]+O3[2]*M4[0]+O3[3]*M4[0]+O3[4]*M4[0]+O3[5]*M4[0]+K3[0]*N4[0]+K3[1]*N4[0]+K3[2]*N4[0]+K3[3]*N4[0]+K3[4]*N4[0]+K3[5]*N4[0];

M5[1]=O3[0]*M4[1]+O3[1]*M4[0]+O3[2]*M4[0]+O3[3]*M4[0]+O3[4]*M4[0]+O3[5]*M4[0]+K3[0]*N4[1]+K3[1]*N4[0]+K3[2]*N4[0]+K3[3]*N4[0]+K3[4]*N4[0]+K3[5]*N4[0];

M5[2]=O3[0]*M4[2]+O3[1]*M4[1]+O3[2]*M4[0]+O3[3]*M4[0]+O3[4]*M4[0]+O3[5]*M4[0]+K3[0]*N4[2]+K3[1]*N4[1]+K3[2]*N4[0]+K3[3]*N4[0]+K3[4]*N4[0]+K3[5]*N4[0];

M5[3]=O3[0]*M4[3]+O3[1]*M4[2]+O3[2]*M4[1]+O3[3]*M4[0]+O3[4]*M4[0]+O3[5]*M4[0]+K3[0]*N4[3]+K3[1]*N4[2]+K3[2]*N4[1]+K3[3]*N4[0]+K3[4]*N4[0]+K3[5]*N4[0];

M5[4]=O3[0]*M4[4]+O3[1]*M4[3]+O3[2]*M4[2]+O3[3]*M4[1]+O3[4]*M4[0]+O3[5]*M4[0]+K3[0]*N4[4]+K3[1]*N4[3]+K3[2]*N4[2]+K3[3]*N4[1]+K3[4]*N4[0]+K3[5]*N4[0];

O5[0]=O3[0]*O4[0];

O5[1]=O3[0]*O4[1]+O3[1]*O4[0];

O5[2]=O3[0]*O4[2]+O3[1]*O4[1]+O3[2]*O4[0];

O5[3]=O3[0]*O4[3]+O3[1]*O4[2]+O3[2]*O4[1]+O3[3]*O4[0];

O5[4]=O3[0]*O4[4]+O3[1]*O4[3]+O3[2]*O4[2]+O3[3]*O4[1]+O3[4]*O4[0];

for(i=5;i<=((P1/10)+(P2/10)+(P3/10));i++)

{N5[i]=O3[0]*N4[i-0]+O3[1]*N4[i-1]+O3[2]*N4[i-2]+O3[3]*N4[i-3]+O3[4]*N4[i-4]+O3[5]*N4[i-5];

M5[i]=O3[0]*M4[i-0]+O3[1]*M4[i-1]+O3[2]*M4[i-2]+O3[3]*M4[i-3]+O3[4]*M4[i-4]+O3[5]*M4[i-5]+K3[0]*N4[i-0]+K3[1]*N4[i-1]+K3[2]*N4[i-2]+K3[3]*N4[i-3]+K3[4]*N4[i-4]+K3[5]*N4[i-5];

O5[i]=O3[0]*O4[i-0]+O3[1]*O4[i-1]+O3[2]*O4[i-2]+O3[3]*O4[i-3]+O3[4]*O4[i-4]+O3[5]*O4[i-5];

printf("所有机组并联的停运表\n");

printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");

for(i=0;i<=((P1/10)+(P2/10)+(P3/10));i++)

{j=10*i;

printf("%d\t%d\t%1.10f\t%1.10f\t%1.10f\n",i,j,N5[i],M5[i],O5[i]);

//负荷停运表

printf("负荷停运表\n");

N6[0]=1;M6[0]=0;O6[0]=0;

N6[1]=1;M6[1]=0;O6[1]=0;

N6[2]=1;M6[2]=0;O6[2]=0;

N6[3]=1;M6[3]=0;O6[3]=0;

N6[4]=1;M6[4]=0;O6[4]=0;

N6[5]=1;M6[5]=0;O6[5]=0.0416667;

N6[6]=0.958333;M6[6]=1;O6[6]=0.208333;

N6[7]=0.75;M6[7]=1;O6[7]=0.125;

N6[8]=0.625;M6[8]=1;O6[8]=0.208333;

N6[9]=0.416667;M6[9]=4;O6[9]=0.25;

N6[10]=0.166667;M6[10]=2;O6[10]=0.166667;

K6[5]=-1;K6[6]=0;K6[7]=0;K6[8]=-3;K6[9]=2;K6[10]=2;

printf("i\t停运容量\t累积概率\t累积频率\t确切概率\n");

for(i=0;i<11;i++)

{j=i*10;

printf("%d\t%d\t%f\t%f\t%f\n",i,j,N6[i],M6[i],O6[i]);

//发电系统裕度表

N7[0]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];

N7[1]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];

N7[2]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];

N7[3]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];

N7[4]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];

N7[5]=O6[5]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];

N7[6]=O6[5]*N5[1]+O6[6]+O6[7]+O6[8]+O6[9]+O6[10];

N7[7]=O6[5]*N5[2]+O6[6]*N5[1]+O6[7]+O6[8]+O6[9]+O6[10];

N7[8]=O6[5]*N5[3]+O6[6]*N5[2]+O6[7]*N5[1]+O6[8]+O6[9]+O6[10];

N7[9]=O6[5]*N5[4]+O6[6]*N5[3]+O6[7]*N5[2]+O6[8]*N5[1]+O6[9]+O6[10];

M7[0]=M7[1]=M7[2]=M7[3]=M7[4]=M7[5]=0;

M7[6]=O6[5]*M5[1]+K6[5]*N5[1]+K6[6]*+K6[7]+K6[8]+K6[9]+K6[10];

M7[7]=O6[5]*M5[2]+O6[6]*M5[1]+K6[5]*N5[2]+K6[6]*N5[1]+K6[7]+K6[8]+K6[9]+K6[10];

M7[8]=O6[5]*M5[3]+O6[6]*M5[2]+O6[7]*M5[1]+K6[5]*N5[3]+K6[6]*N5[2]+K6[7]*N5[1]+K6[8]+K6[9]+K6[10];

M7[9]=O6[5]*M5[4]+O6[6]*M5[3]+O6[7]*M5[2]+O6[8]*M5[1]+K6[5]*N5[4]+K6[6]*N5[3]+K6[7]*N5[2]+K6[8]*N5[1]+K6[9]+K6[10];

O7[0]=O7[1]=O7[2]=O7[3]=O7[4]=0;

O7[5]=O6[5]*O5[0];

O7[6]=O6[5]*O5[1]+O6[6]*O5[0];

O7[7]=O6[5]*O5[2]+O6[6]*O5[1]+O6[7]*O5[0];

O7[8]=O6[5]*O5[3]+O6[6]*O5[2]+O6[7]*O5[1]+O6[8]*O5[0];

O7[9]=O6[5]*O5[4]+O6[6]*O5[3]+O6[7]*O5[2]+O6[8]*O5[1]+O6[9]*O5[0];

for(i=10;i<=((P1/10)+(P2/10)+(P3/10)+10);i++)

{N7[i]=O6[5]*N5[i-5]+O6[6]*N5[i-6]+O6[7]*N5[i-7]+O6[8]*N5[i-8]+O6[9]*N5[i-9]+O6[10]*N5[i-10];

M7[i]=O6[5]*M5[i-5]+O6[6]*M5[i-6]+O6[7]*M5[i-7]+O6[8]*M5[i-8]+O6[9]*M5[i-9]+O6[10]*M5[i-10]+K6[5]*N5[i-5]+K6[6]*N5[i-6]+K6[7]*N5[i-7]+K6[8]*N5[i-8]+K6[9]*N5[i-9]+K6[10]*N5[i-10];

O7[i]=O6[5]*O5[i-5]+O6[6]*O5[i-6]+O6[7]*O5[i-7]+O6[8]*O5[i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1