li=shuju.branch(:,1); lj=shuju.branch(:,2); b=size(shuju.branch,1); %线路数 G11=zeros(b,nb); %线路有功对角度的倒数 G12=zeros(b,nb); %线路有功对电压的导数 G21=zeros(b,nb); G22=zeros(b,nb); for i=1:b G11(i,li(i))=-H(li(i),lj(i)); G11(i,lj(i))=H(li(i),lj(i)); G12(i,li(i))=0.01*2*branch(i,14)/bus(li(i),8)-N(li(i),lj(i)); %%化为标幺值 G12(i,lj(i))=N(li(i),lj(i)); G21(i,li(i))=-M(li(i),lj(i)); G21(i,lj(i))=M(li(i),lj(i)); G22(i,li(i))=0.01*2*branch(i,15)/bus(li(i),8)-H(li(i),lj(i)); %%化为标幺值 G22(i,lj(i))=H(li(i),lj(i)); end G=[G11 G12;G21 G22]; t1=G*s1;
时间: 2023-10-26 20:06:05 浏览: 27
这段代码是在计算概率潮流时,对线路的敏感度进行计算。其中,li和lj分别是线路的起点和终点的节点编号,b是线路数。首先,初始化四个大小为b×nb的矩阵G11、G12、G21和G22,用于存储线路有功对节点电压相角和电压幅值的敏感度。然后,对于每一条线路,根据电力系统潮流关系计算出其对应的敏感度矩阵,并将其填充到G11、G12、G21和G22矩阵中。最后,将四个矩阵合并成大小为2b×2nb的敏感度矩阵G,并乘以节点电压半不变量矩阵s1,得到线路有功对节点电压相角和电压幅值的敏感度t1。
相关问题
解释代码:shuju=data_ieee30; pv=find(shuju.bus(:,2)==2); pq=find(shuju.bus(:,2)==1); isb=find(shuju.bus(:,2)==3); %平衡节点 npv=length(pv); npq=length(pq); nb=size(shuju.bus,1); %节点数 mu_P_G=zeros(nb,1); %%节点发电机有功功率 mu_P_G(shuju.gen(:,1))=shuju.gen(:,2)/100; mu_Q_G=zeros(nb,1); %%节点发电机无功功率 mu_Q_G(shuju.gen(:,1))=shuju.gen(:,3)/100; mu_P_L=shuju.bus(:,3)/100; %%节点负荷有功功率 mu_Q_L=shuju.bus(:,4)/100; %%节点负荷无功功率 sigma_P_L=mu_P_L*0.3; sigma_Q_L=mu_Q_L*0.3; mu_P=mu_P_G-mu_P_L; %%节点注入有功 mu_Q=mu_Q_G-mu_Q_L; %%节点注入无功
这段代码是对 IEEE 30 节点系统中的节点数据进行处理,用于后续概率潮流计算中的计算。
首先,使用 data_ieee30 变量读取了 IEEE 30 节点系统的数据,并将其中的平衡节点、发电机节点和负荷节点的编号提取出来,分别存储在 pv、pq 和 isb 变量中。其中,平衡节点的类型为 3,发电机节点的类型为 2,负荷节点的类型为 1。
接下来,通过对 shuju.gen 和 shuju.bus 变量进行索引,将节点的有功功率和无功功率数据提取出来,分别存储在 mu_P_G、mu_Q_G、mu_P_L 和 mu_Q_L 变量中。其中,mu_P_G(shuju.gen(:,1))=shuju.gen(:,2)/100 表示将 shuju.gen 变量中的发电机有功功率数据按节点编号存储在 mu_P_G 中,并将其单位转换为 p.u.;同理,mu_Q_G(shuju.gen(:,1))=shuju.gen(:,3)/100 表示将 shuju.gen 变量中的发电机无功功率数据按节点编号存储在 mu_Q_G 中,并将其单位转换为 p.u.;mu_P_L=shuju.bus(:,3)/100 和 mu_Q_L=shuju.bus(:,4)/100 分别表示将 shuju.bus 变量中的负荷有功功率和负荷无功功率数据按节点编号存储在 mu_P_L 和 mu_Q_L 中,并将其单位转换为 p.u.。此外,sigma_P_L=mu_P_L*0.3 和 sigma_Q_L=mu_Q_L*0.3 分别表示负荷有功功率和负荷无功功率的标准差,其值均为期望值的 30%。
最后,通过将发电机注入的有功功率和无功功率减去负荷的有功功率和无功功率得到节点的注入有功功率和无功功率,分别存储在 mu_P 和 mu_Q 变量中。
shuju=data_ieee30; index_load=shuju.bus(:,3)>0; n_load=sum(index_load);
这段代码根据给定的IEEE30数据,获取了所有负荷节点的索引,即index_load,然后计算负荷节点的数量,即n_load。它是基于Matlab的数据处理功能实现的,其中shuju是一个包含电力系统节点、发电机、线路等信息的数据结构。在这里,通过对shuju.bus数据结构中第三列(即负荷功率)进行判断,得到了所有负荷节点的索引。然后,通过对这些索引进行求和,得到了负荷节点的数量。这段代码是电力系统概率分析中的数据处理部分,为后续的概率分布计算和分析奠定了基础。