基于matlab的牛顿拉夫逊法潮流计算,基于MATLAB牛顿拉夫逊法进行潮流计算

>> %本程序的功能是用牛顿拉夫逊法进行潮流计算n=input('请输入节点数:n=');

nl=input('请输入支路数:nl=');

isb=input('请输入平衡母线节点号:isb=');

pr=input('请输入误差精度:pr=');

B1=input('请输入由各支路参数形成的矩阵:B1='); B2=input('请输入各节点参数形成的矩阵:B2=');

Y=zeros(n); e=zeros(1,n);f=zeros(1,n);V=zeros(1,n); O=zeros(1,n);S1=zeros(nl);

for i=1:nl

if B1(i,6)==0

p=B1(i,1);q=B1(i,2);

else p=B1(i,2);q=B1(i,1);

end

Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5));

Y(q,p)=Y(p,q);

Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2;

Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2;

end

%求导纳矩阵

disp('导纳矩阵Y=');

disp(Y);

G=real(Y);B=imag(Y);

for i=1:n

e(i)=real(B2(i,3));

f(i)=imag(B2(i,3));

V(i)=B2(i,4);

end

for i=1:n

S(i)=B2(i,1)-B2(i,2);

B(i,i)=B(i,i)+B2(i,5);

end

P=real(S);Q=imag(S);

ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0;

while IT2~=0

IT2=0;a=a+1;

for i=1:n

if i~=isb

C(i)=0;

D(i)=0;

for j1=1:n

C(i)= C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);

D(i)= D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值