该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

K=0;

N=input('请输入节点数:N=');

NPQ =input('请输入节点数:NPQ=');

NPV =input('请输入节点数:NPV=');

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

B1=input('请输入由各支路参数形成的矩阵:B1=');%[1 2 0.1+0.4i 0.01528i 1 1;1 3 0.3i 0 1.1 0;1 4 0.12+0.5i 0.0192i 1 0;2 4 0.08+0.4i 0.01413i 1 0]格式为某支路的首端号P,某支路末端号Q,且P

Y=zeros(N);

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);

Kmax=input('\n\n 请输入最大迭代次数后回车(可从零开始) Kmax=\n');%防止发散的情况可以及时跳出

small=10^(-4); %ε不能太小

Pnode=[ 0.2 -0.45 -0.4 -0.6 ];

Qnode=[ 0.2 -0.15 -0.05 -0.1 ];

Vnode=[ 0 0 0 0 ];% 书上给定的有功无功电压初值

e=[ 1.06 1.0 1.0 1.0 1.0 ];

f=[ 0 0 0 0 0 ];% 正常给定的初值

for K=0:Kmax,

%计算△W。△W=【△P1,△Q1,△P2,△Q2,……,△P,△V^2(平方的意思)】(平衡节点不参与迭代)

%用书上134页及之后计算NPQ个PQ节点的△P、△Q。算法:先初始化,再不断地累减

%初始化,得△P=【Pnode(1),Pnode(2),……,Pnode(NPQ)】PQPV节点个数上面要输入

for i=1:NPQ,

dP(i)=Pnode(i);

dQ(i)=Qnode(i);

end

%不断地累减,得△P和△Q ,就是公式啦

for i=1:NPQ,

for j=1:N,

dP(i)=dP(i)-e(i)*G(i,j)*e(j)+e(i)*B(i,j)*f(j)-f(i)*G(i,j)*f(i)-f(i)*B(i,j)*e(j);%△P(4-86)

dQ(i)=dQ(i)-f(i)*G(i,j)*e(j)+f(i)*B(i,j)*f(j)+e(i)*G(i,j)*f(i)+e(i)*B(i,j)*e(j);%△Q一样

end

end

%计算NPV个PV节点的△P、(△V)^2 (其中△P的计算同上)算法:先初始化,再不断地累减,电压就继续公式

%初始化

for i=(NPQ+1):(N-1),

dP(i)=Pnode(i);

end

%不断地累减,得△P和(△V)^2

for i=(NPQ+1):(N-1),

for j=1:N,

dP(i)=dP(i)-e(i)*G(i,j)*e(j)+e(i)*B(i,j)*f(j)-f(i)*G(i,j)*f(i)-f(i)*B(i,j)*e(j);

dV2(i)=Vnode(i)^2-e(i)^2-f(i)^2;

end

end

%都是公式,不用太在意,PQ,PV节点分开算的(P134)

%组合成△W=【△P1,△Q1,△P2,△Q2,……,△P,△V^2】(平衡节点不参与迭代)

%将△P间隔地赋入△W

a=1;

for i=1:(N-1),

dW(a)=dP(i);

a=a+2;

end

%将△Q间隔地赋入△W

a=2;

for i=1:NPQ,

dW(a)=dQ(i);

a=a+2;

end

%将△V^2间隔地赋入△W

a=NPQ*2+2;

for i=(NPQ+1):(NPQ+NPV),

dW(a)=dV2(i);

a=a+2;

end

%判断是否小于ε,注意判断方法是△P,△Q的绝对值足够小

if max(dW)

fprintf('\n 迭代是收敛的。第%d次迭代后终止迭代。\n',K-1);

break;

end

%计算雅克比矩阵各元素(书上135页)。算法:先初始化,再不断地累减

J=zeros(N-1);

%初始化

for i=1:N-1,

for j=1:N-1,

if i<=NPQ %求雅克比矩阵中PQ节点的元素

if i==j%i=j表示对角元素

J(2*i-1,2*j-1) = -G(i,i)*e(i)-B(i,i)*f(i);

J(2*i-1,2*j ) = B(i,i)*e(i)-G(i,i)*f(i);

J(2*i ,2*j-1) = B(i,i)*e(i)-G(i,i)*f(i);

J(2*i ,2*j ) = G(i,i)*e(i)+B(i,i)*f(i);

elseif i~=j%非对角

J(2*i-1,2*j-1) = -G(i,j)*e(i)-B(i,j)*f(i);

J(2*i-1,2*j ) = B(i,j)*e(i)-G(i,j)*f(i);

J(2*i ,2*j-1) = B(i,j)*e(i)-G(i,j)*f(i);

J(2*i ,2*j ) = G(i,j)*e(i)+B(i,j)*f(i);

end

end

if i>NPQ %求雅克比矩阵中PV节点的元素

if i==j

J(2*i-1,2*j-1) = -G(i,i)*e(i)-B(i,i)*f(i);

J(2*i-1,2*j ) = B(i,i)*e(i)-G(i,i)*f(i);

J(2*i ,2*j-1) = -2*e(i);

J(2*i ,2*j ) = -2*f(i);

elseif i~=j

J(2*i-1,2*j-1) = -G(i,j)*e(i)-B(i,j)*f(i);

J(2*i-1,2*j ) = B(i,j)*e(i)-G(i,j)*f(i);

J(2*i ,2*j-1) = 0;

J(2*i ,2*j ) = 0;

end

end

end

end

%不断地累减

for i=1:NPQ,

for k=1:N,

J(2*i-1,2*i-1) = J(2*i-1,2*i-1)-G(i,k)*e(k)+B(i,k)*f(k);

J(2*i-1,2*i ) = J(2*i-1,2*i )-G(i,k)*f(k)-B(i,k)*e(k);

J(2*i ,2*i-1) = J(2*i ,2*i-1)+G(i,k)*f(k)+B(i,k)*e(k);

J(2*i ,2*i ) = J(2*i ,2*i )-G(i,k)*e(k)+B(i,k)*f(k);

end

end

%根据△W=-J*△V, 得△V书135页

dV=(-J)\dW';

%用dV对e、f进行修正,并得到复数表示的V

for i=1:(N-1),

e(i)=e(i)+dV(2*i-1);

f(i)=f(i)+dV(2*i );

V(i)=complex(e(i),f(i));

end

V(N)=complex(e(N),f(N));

format long g;

fprintf('\n 第%d次迭代(共%d个独立节点)',K,N);

V

end

N=5

NPQ=4

NPV=1

NL=7

B1=[1 2 0.02+0.06i 0 1 0;1 3 0.08+0.24i 0 1 0;2 3 0.06+0.18i 0 1 1;2 4 0.06+0.18i 0 1 1;3 4 0.01+0.03i 0 1 0;4 5 0.08+0.24i 0 1 0;2 5 0.04+0.12i 0 1 1;]

Kmax=50

matlab计算npv,哪位大神看看这个程序呀,参数下面给了相关推荐

  1. matlab支路参数矩阵,哪位大神看看这个程序呀,参数下面给了

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 K=0; N=input('请输入节点数:N='); NPQ =input('请输入节点数:NPQ='); NPV =input('请输入节点数:NPV= ...

  2. matlab 五连珠,我是初学者,想求哪位大神帮帮我把这个小游戏程序简单写写注释,五连珠游戏...

    我是初学者,想求哪位大神帮帮我把这个小游戏程序简单写写注释,五连珠游戏 五连珠游戏 游戏规则: 移动小球,五个或五个以上相同颜色的组成一行或一列就会消失 移动的时候只能移动到相连通的格子里去 func ...

  3. 真正的AI内行盛会!3 天 3 位大神,29场专题论坛,200+位领域专家

    2021年6月1日-3日,第三届北京智源大会将隆重举办.现正式开放大会线上和线下报名渠道. 2021年北京智源大会召开在即,6月1日至6月3日,持续三天,13场主旨报告/重磅对话,29场由各领域领军学 ...

  4. java jdbc 批量更新_java,jdbc,大量数据update更新效率很慢,哪位大神可怜可怜我吧...

    数据库用的是mysql,部署在windows系统上.前提是不改变这两个条件.Stringsql="updatetableA=?,B=?,C=?whereD=?andE=?";字段D ...

  5. 推荐一位大神,手握 GitHub 16000 star

    今天跟大家推荐小 G 认识的一位大神朋友:玉刚,人称刚哥. 专家工程师,技术 leader,现居北京,待过腾讯和百度,10 年编程经验.刚哥目前是国内某顶尖独角兽公司的首席架构师. 而且他的 GitH ...

  6. APP推广要掌握什么核心技能?9位大神实战分享

    每个做运营的都梦想着从运营APP运营小白,快速成长为APP运营总监,但是这其中的艰辛也是只有经历过才能体会!本文分享9位大神经验,他们经历过不同产品.不同工作经验,看看他们是怎么理解的! 1.子木-A ...

  7. 求助: 哪位大神有《 计算机图形学基础[第2版][陆枫/何云峰 》电子教案

    哪位大神有< 计算机图形学基础[第2版][陆枫/何云峰 >的电子教案,麻烦给我发一下,284495514@qq.com. 非常感谢

  8. matlab求解复杂隐函数,MATLAB复杂隐函数求解!求大神指导!

    问题描述: MATLAB复杂隐函数求解!求大神指导! syms D1 D2 G1 G2 al E1 E2 Km w6 G1=10^(-5);G2=10^(-5); E1=2*(10^11);E2=2* ...

  9. 安装 Oracle11g grid 遇到如下问题,请哪位大神指点一下!

    安装 Oracle11g grid 遇到如下问题,请哪位大神指点一下! 安装环境如下: 1.华为云服务器 2.两块网卡 3.操作系统: CentOS6 4.Grid 和 Oracle 软件的版本为 1 ...

最新文章

  1. Chapter 6 : 综合数据和分组函数
  2. open cv提取图片特征值_基于VGG16网络提取Flicker8K数据集图像特征
  3. 课时2.浏览器和服务器(了解)
  4. php跳转分站,PHP判断IP并转跳到相应城市分站的方法
  5. static,构造器,执行顺序
  6. c语言宿舍管理设计报告,C语言课程设计—学生宿舍管理系统设计报告.doc
  7. 程序运行 栈帧分析 以及 修改栈帧中数据以及函数地址
  8. maven aliyun 仓库速度就是快
  9. LA 5842 Equipment (状态压缩+dp)
  10. jquery子元素过滤选择器:nth-child、:first-child、:last-child、:only-child
  11. linux安全加固技术--内核安全模块LSM
  12. 终于稳了!2020年8月程序员工资最新统计
  13. PL/SQL Oracle恢复默认界面设置
  14. .fai 文件格式解读
  15. 卸载百度软件修复服务器,快速修复win7系统笔记本卸载百度软件中心助手的解决教程...
  16. 解决Commend 'ifconfig' not found , but can be installed whith............ifconfig不能查看ip问题
  17. Activiti工作流(一):OA 上的那些请假流程如何快速实现呢?
  18. 关于Office 365 显示语言的设置(注册开通时的语言选择及注册开通后的语言显示修改)
  19. vue大屏展示 代码 从0 到1
  20. MATLAB08:符号运算

热门文章

  1. PostgreSQL-6中的MVCC。 真空
  2. html使屏幕保持常亮,让win7系统桌面常亮不灭的两种方法
  3. 某些material英文翻译
  4. 绿控传动冲刺科创板上市:连年亏损,现金流紧张,计划募资11亿元
  5. selenium爬虫|破解滑动验证码以极验为例
  6. PHP 实现微信支付 “请求单次分账”
  7. c++整盅之唬人武器-病毒的信
  8. VTK控制相机实现水平翻转与垂直翻转
  9. 热门领域、常用短视频工具分享,新手抓紧收藏,每天多200收益
  10. SRILM使用之ngram-class