77范文网 - 专业文章范例文档资料分享平台

基于牛顿拉夫逊法潮流计算的matlab实验报告(4)

来源:网络收集 时间:2019-01-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

for j = 1:nb

Pi(i,1)=Pi(i,1)+bus(i,2)*bus(j,2)*(real(Y(i,j))*cos(bus(i,3)-bus(j,3))+imag(Y(i,j))*sin(bus(i,3)-bus(j,3)));

Qi(i,1)=Qi(i,1)+bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j,3))); end

end % 初始化并计算Qi和Pi for i = 1:nb-1

for j = 1:nb-1 if i~=j

H(i,j)=-bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j,3))); else

H(i,j)=Qi(i,1)+imag(Y(i,j))*((bus(i,2))^2);

end % 分别计算H矩阵的对角及非对角元素 if j < nPQ+1 if i~=j

N(i,j)=-bus(i,2)*bus(j,2)*(real(Y(i,j))*cos(bus(i,3)-bus(j,3))+imag(Y(i,j))*sin(bus(i,3)-bus(j,3))); else

N(i,j)=-Pi(i,1)-real(Y(i,j))*((bus(i,2))^2); end

end % 分别计算N矩阵的对角及非对角元素 if i < nPQ+1 if i~=j

K(i,j)=bus(i,2)*bus(j,2)*(real(Y(i,j))*cos(bus(i,3)-bus(j,3))+imag(Y(i,j))*sin(bus(i,3)-bus(j,3))); else

K(i,j)=-Pi(i,1)+real(Y(i,j))*((bus(i,2))^2);

end % 分别计算K矩阵的对角及非对角元素 if j < nPQ+1 if i~=j

L(i,j)=-bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j,3))); else

L(i,j)=-Qi(i,1)+imag(Y(i,j))*((bus(i,2))^2); end

end % 分别计算L矩阵的对角及非对角元素

end end end

J = [H N; K L]; % 生成雅克比矩阵

\作用为计算每个节点的功率注入

function bus = PQ(bus,Y,nPQ,nPV)

n = nPQ+nPV+1; % n为总节点数 for i = nPQ+1:n-1 for j = 1:n

bus(i,5)=bus(i,5)+bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j,3))); end

end % 利用公式计算PV节点的无功注入 for j =1:n

bus(n,4)=bus(n,4)+bus(n,2)*bus(j,2)*(real(Y(n,j))*cos(bus(n,3)-bus(j,3))+imag(Y(n,j))*sin(bus(n,3)-bus(j,3)));

bus(n,5)=bus(n,5)+bus(n,2)*bus(j,2)*(real(Y(n,j))*sin(bus(n,3)-bus(j,3))-imag(Y(n,j))*cos(bus(n,3)-bus(j,3)));

end % 计算平衡节点的无功及有功注入

\作用为对节点和线路数据恢复编号

function [bus,line] = ReNum(bus,line,nodenum) [nb,mb]=size(bus); [nl,ml]=size(line);

bus_temp = zeros(nb,mb); % bus_temp矩阵用于临时存放bus矩阵的数据 k = 1;

for i = 1 :nb

for j = 1 : nb

if bus(j,1) == k

bus_temp(k,:) = bus(j,:); k = k + 1; end end

end % 利用bus矩阵的首列编号重新对bus矩阵排序并存入bus_temp矩阵中

bus = bus_temp; % 重新赋值回bus,完成bus矩阵的重新编号 for i=1:nl

for j=1:2

for k=1:nb

if line(i,j)==nodenum(k,1)

line(i,j)=nodenum(k,2); break end end end

end % 恢复line的编号

\作用为计算线路的等效Yt和Ym,以计算线路潮流

function YtYm = YtYm(line) [nl,ml]=size(line);

YtYm = zeros(nl,5); % 对YtYm矩阵赋初值0

YtYm(:,1:2) = line(:,1:2); % 矩阵前两列为线路两段节点编号,后三列分别为线路等效Yt,i侧的等效Ym,j侧的等效Ym j = sqrt(-1); for k=1:nl

I=line(k,1); J=line(k,2);

Zt=line(k,3)+j*line(k,4); if Zt~=0 Yt=1/Zt; end

Ym=line(k,5)+j*line(k,6); K=line(k,7);

if (K==0)&(J~=0) % 普通线路: K=0 YtYm(k,3) = Yt; YtYm(k,4) = Ym; YtYm(k,5) = Ym; end

if (K==0)&(J==0) % 对地支路: K=0,J=0,R=X=0 YtYm(k,4) = Ym; end

if K>0 % 变压器线路: Zt和Ym为折算到i侧的值,K在j侧 YtYm(k,3) = Yt/K;

YtYm(k,4) = Ym+Yt*(K-1)/K; YtYm(k,5) = Yt*(1-K)/K/K; end

if K<0 % 变压器线路: Zt和Ym为折算到K侧的值,K在i侧 YtYm(k,3) = -Yt*K;

YtYm(k,4) = Ym+Yt*(1+K); YtYm(k,5) = Yt*(K^2+K); end end

\计算并返回节点数据结果

function bus_res = bus_res(bus) [nb,mb]=size(bus);

bus_res = zeros(nb,4); % bus_res矩阵储存着节点计算结果 bus_res(:,1:2) = bus(:,1:2);

bus_res(:,3) = bus(:,3) *180 / pi; % 相角采用角度制 bus_res(:,4) = bus(:,4) + (sqrt(-1))*bus(:,5); % 注入功率 end

\计算并返回线路潮流

function S_res = S_res(bus,line,YtYm) [nl,ml]=size(line);

S_res = zeros(nl,5); % S_res矩阵储存着线路潮流计算结果 S_res(:,1:2) = line(:,1:2); % 前两列为节点编号 for k=1:nl

I = S_res(k,1); J = S_res(k,2);

if (J~=0)&(I~=0)

S_res(k,3)=bus(I,2)^2*(conj(YtYm(k,3))+conj(YtYm(k,4)))-bus(I,2)*bus(J,2)*(cos(bus(I,3))+j*sin(bus(I,3)))*(conj(cos(bus(J,3))+j*sin(bus(J,3))))*conj(YtYm(k,3));

S_res(k,4)=bus(J,2)^2*(conj(YtYm(k,3))+conj(YtYm(k,5)))-bus(I,2)*bus(J,2)*(conj(cos(bus(I,3))+j*sin(bus(I,3))))*(cos(bus(J,3))+j*sin(bus(J,3)))*conj(YtYm(k,3));

S_res(k,5)=S_res(k,3) + S_res(k,4); % 利用公式计算非接地支路的潮流 else if(J==0 )

S_res(k,3)=bus(I,2)^2*conj(YtYm(k,4)); S_res(k,5)=S_res(k,3)+S_res(k,4); else

S_res(k,4)=bus(J,2)^2*conj(YtYm(k,5));

S_res(k,5)=S_res(k,3)+S_res(k,4); % 利用公式计算接地支路的潮流 end end end end

作业

y=pifun(10000)

y =

3.1415

>> clear all >> tic;

>> y=pifun(100000); >> toc;

Elapsed time is 0.014727 seconds.

function y= pifun(n) y=0;

for i=1:n

y=y+(-1)^(i-1)*1/(2*i-1); end

y=y*4; end

>> a=0:pi/12:2*pi; >> x=5*cos(a); >> y=3*sin(a); >> plot(x,y) 3210-1-2-3-5-4-3-2-1012345

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于牛顿拉夫逊法潮流计算的matlab实验报告(4)在线全文阅读。

基于牛顿拉夫逊法潮流计算的matlab实验报告(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/402780.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: