[basemva bus gen branch success et dSbus_dVm dSbus_dVa]=runpf(shuju); H=real(dSbus_dVa); M=imag(dSbus_dVa); N=real(dSbus_dVm); L=imag(dSbus_dVm); Jacco2=[H N M L]; %N=dP/dU L=dQ/dU
时间: 2024-02-04 07:03:23 浏览: 82
这段代码是在运行潮流计算模型runpf后,计算雅可比矩阵。其中,runpf函数的输入参数为shuju,输出参数包括basemva、bus、gen、branch、success、et、dSbus_dVm和dSbus_dVa。其中,dSbus_dVm和dSbus_dVa分别是节点注入功率分别关于节点电压幅值和相角的偏导数,它们的大小均为nb×nb,表示电力系统的潮流关系。通过取实部和虚部,将它们分别表示为dP/dU、dQ/dU、dP/dθ和dQ/dθ四个矩阵。然后将这四个矩阵合并成一个大小为2nb×2nb的雅可比矩阵Jacco2。该矩阵可以用于计算电力系统的灵敏度分析和概率潮流计算。
相关问题
解释[basemva bus gen branch success et dSbus_dVm dSbus_dVa]=runpf(shuju); H=real(dSbus_dVa); M=imag(dSbus_dVa); N=real(dSbus_dVm); L=imag(dSbus_dVm); Jacco2=[H N M L]; %N=dP/dU L=dQ/dU代码
这段代码主要是进行潮流计算后,根据计算结果计算雅可比矩阵。具体解释如下:
1. [basemva bus gen branch success et dSbus_dVm dSbus_dVa]=runpf(shuju):运行潮流计算,其中shuju是包含潮流计算所需数据的输入参数。这行代码将输出潮流计算的结果,包括基准电压、节点数据、发电机数据、支路数据、计算是否成功、计算用时、节点注入功率对电压幅值的导数、节点注入功率对电压相角的导数。
2. H=real(dSbus_dVa):将节点注入功率对电压相角的导数的实部赋值给H。
3. M=imag(dSbus_dVa):将节点注入功率对电压相角的导数的虚部赋值给M。
4. N=real(dSbus_dVm):将节点注入功率对电压幅值的导数的实部赋值给N。
5. L=imag(dSbus_dVm):将节点注入功率对电压幅值的导数的虚部赋值给L。
6. Jacco2=[H N M L]:按列拼接H、N、M、L四个矩阵,形成雅可比矩阵Jacco2。其中,H、N、M、L分别表示节点注入功率对电压相角和电压幅值的实部和虚部。
7. %N=dP/dU L=dQ/dU:注释说明了N和L分别表示有功功率对电压幅值和无功功率对电压幅值的导数。
for i=1:m shuju.bus(index_load,3)=p_load(:,i); shuju.bus(index_load,4)=q_load(:,i); [basemva,bus,gen,branch]=runpf(shuju); p_loss(i)=sum(branch(:,14)+branch(:,16)); v_mc(:,i)=bus(:,8); xianlu_p_mc(:,i)=branch(:,14)/100; xianlu_q_mc(:,i)=branch(:,15)/100; end
这段代码是进行蒙特卡洛概率潮流计算的主体部分,对每次模拟得到的负荷数据进行潮流计算并统计结果。
具体来说,代码通过 for 循环遍历了 m 次模拟,每次模拟都将 p_load 和 q_load 中的负荷数据赋值给 shuju.bus(index_load,3) 和 shuju.bus(index_load,4),然后使用 runpf 函数进行潮流计算。runpf 函数的输入参数是 shuju 变量,包含了潮流计算所需的系统数据。输出参数包括了潮流计算的基准电压、节点数据、发电机数据和线路数据等。
在每次潮流计算完成后,代码分别统计了有功损耗、节点电压和线路功率等数据。其中,p_loss(i) 表示第 i 次模拟的有功损耗之和,使用 sum 函数将所有线路的有功损耗相加得到;v_mc(:,i) 表示第 i 次模拟的所有节点的电压幅值,即 bus(:,8);xianlu_p_mc(:,i) 和 xianlu_q_mc(:,i) 分别表示第 i 次模拟的所有线路的有功功率和无功功率,即 branch(:,14)/100 和 branch(:,15)/100。
阅读全文