资源简介
基于matlab开发实现牛顿-拉夫逊法电力系统潮流计算,并附有详细备注
代码片段和文件信息
%function [YUPQdeltaSijaSSijSjisumdeltaS]=NRchaoliu()
function [Ua]=NRchaoliu()
%电力系统潮流计算程序;
%输出:U——节点电压,P--节点有功,Q--节点无功,deltaSij--支路功率损耗,
%Sij--从节点i流向节点j的功率S--节点复功率sumdeltaS--网络总损耗
%输入参数:point为节点信息矩阵,zhilu为支路信息矩阵;
[x]=xlsread(‘NRinput.xls‘‘A2:A2‘);%从exel中读取节点数x
[y]=xlsread(‘NRinput.xls‘‘B2:B2‘);%从exel中读取支路数y
e=xlsread(‘NRinput.xls‘‘B4:B4‘);%误差要求
[point]=xlsread(‘NRinput.xls‘‘C3:H50‘);%从exel中读取节点信息矩阵 zys
[zhilu]=xlsread(‘NRinput.xls‘‘J3:Q50‘);%从exel中读取支路信息矩阵
sizeHL=size(zhilu);
zhilu0=zeros(sizeHL(1)2);%增加2列存储首末新节点编号zys
zhilu=[zhilu zhilu0];%zys
%-------节点优化编号定义start zys-------------------
nSW = 0; % nSW为平衡节点个数
nPV = 0; % nPV为PV节点个数
nPQ = 0; % nPQ为PQ节点个数
for lx=1:x
type0=point(lx2);
if type0 == 3
nSW = nSW + 1;
SW(nSW:)=point(lx:);% 计算并储存平衡节点
elseif type0 == 2
nPV = nPV +1;
PV(nPV:)=point(lx:);% 计算并储存PV节点
else
nPQ = nPQ + 1;
PQ(nPQ:)=point(lx:);% 计算并储存PQ节点
end
end
point=[PQ;PV;SW]; % 对bus矩阵按PQ、PV、平衡节点的顺序重新排序
nodenum=[[1:x]‘ point(:1)];% 生成新旧节点对照表
for hh=1:y
for ll=1:2
for k=1:x
if zhilu(hhll)==nodenum(k2)
zhilu(hh8+ll)=nodenum(k1);
break
end
end
end
end
%-------节点优化编号定义end zys-------------------
TYPE=zeros(x1);%TYPE为节点类型矩阵
U=zeros(x1);%U为节点电压矩阵
a=zeros(x1);%a为节点电压相角矩阵
P=zeros(x1);%P为节点有功功率
Q=zeros(x1);%Q为节点无功功率
S=ones(x1)+j*ones(x1);%S为节点复功率
I=zeros(y1);%I为起始节点编号矩阵
J=zeros(y1);%J为终止节点编号矩阵
Rij=zeros(y1);%R为线路电阻
Xij=zeros(y1);%X为线路电抗
Zij=Rij+j*Xij; %Yij为线路阻抗
Y=zeros(x); %Y为n阶节点导纳方阵
G=zeros(x); %G为n阶节点电导方阵
B=zeros(x); %B为n阶节点电纳方阵
B0=zeros(y1); %B0为n*1阶线路对地电纳值
RT=zeros(y1);%RT为ij支路y( 矩阵zhilu的行数)*1阶变压器电阻
XT=zeros(y1);%XT为ij支路y*1阶变压器电抗
ZT=RT+j*XT;%求变压器阻抗
KT=zeros(y1); %K为ij支路y*1阶变压器变比,若k=0表示无变压器K=1则为标准变比,k 不等于1为非标准变比
%------------------------------矩阵赋初值:
%TYPE=point(:1);%将point矩阵的第一列赋给TYPE,以下类似
TYPE=point(:2);%将point矩阵的第一列赋给TYPE,以下类似
%U=point(:2);a=point(:3);P=point(:4);Q=point(:5);
U=point(:3);
a=point(:4);
P=point(:5);
Q=point(:6);
%I=zhilu(:1);J=zhilu(:2);
I=zhilu(:9);
J=zhilu(:10);
Rij=zhilu(:3);
Xij=zhilu(:4);
Zij=Rij+j*Xij;
B0=zhilu(:5);
RT=zhilu(:6);
XT=zhilu(:7);
ZT=RT+j*XT;
KT=zhilu(:8);
tic %程序运行时间开始计时
%------------------------------求节点导纳矩阵Y
for m=1:y %求Y中非对角元元素Yij
if KT(m)==0%若无变压器则Yij直接为线路阻抗分之一取负值.
Y(I(m)J(m))=-1/Zij(m);
Y(J(m)I(m))=-1/Zij(m);
else %有变压器时,Yij为线路阻抗乘以KT后分之一再取负值
Y(I(m)J(m))=-1/(KT(m)*ZT(m));
Y(J(m)I(m))=-1/(KT(m)*ZT(m));
end
end
for m=1:x %求Y中的Yii
for n=1:y
if KT(n)==0%无变压器时Yii为Yij加上线路对地电导乘j
if(I(n)==m|J(n)==m)
Y(mm)=Y(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 15553 2017-09-19 14:22 牛-拉法潮流\NRchaoliu.m
文件 32256 2017-09-19 14:34 牛-拉法潮流\NRinput.xls
文件 21671 2017-09-19 15:00 牛-拉法潮流\outputNR.txt
目录 0 2019-03-04 20:43 牛-拉法潮流\
相关资源
- 计算图像每个像素邻域方差的matlab程
- 八数码问题的MATLAB实现启发式
- 异步电机降压启动matlab仿真
- 最全最新的matlab----findpeaks代码运用
- 基于matlab的灰度图像的多重分形谱
- 基于matlab的坐标变换程序,通过坐标
- 大师级matlab自动寻峰算法,超级实用
- 连续潮流MATLAB程序
- 无人驾驶车辆模型预测控制Matlab代码
- image normalization图像归一化matlab程序
- “群体智能算法”Matlab工具箱 Versio
- MATLAB版大富翁完整版
- 基于MATLAB的傅里叶级数可视化
- matlab电机仿真
- TOA定位两步加权最小二乘MATLAB算法程
- RBF神经网络建模与预测(1)
- 均匀球体重力异常正演模拟Matlab代码
- 基于双线性内插法的图像重采样matl
- 遥感影像融合_数字图像处理的matlab程
- 格子玻尔兹曼MATLAB运用(LBGK_D2Q9_poi
- SVM的matlab代码
- 郑州大学随机信号课程报告—功率谱
- 基于 MATLAB 的身份证号码的识别算法
- 非均匀材料的多尺度均匀化matlab程序
- 蝴蝶优化算法
- matlab身份证号码识别毕业设计答辩演
- 无人驾驶车辆模型预测直线轨迹跟踪
- matlab地震波数值模拟
- 基于MATLAB的倒谱程序
- 加入噪声的中值滤波代码
评论
共有 条评论