导纳矩阵 matlab,关于利用矩阵稀疏技术求解节点导纳矩阵的MATLAB编程
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求大神帮忙看看这个程序,解释一下!
%形成节点导纳矩阵
%考虑参考节点
%考虑互感支路
function [d_g,d_b,u_g,u_b]=calyy(itoi,noels_hgln,noelsnum_hgln,bs_noels,bs_cp,gb_hgln,gb_noels,gb_cp,lv_bs,lv_hgln,lv_noels,lv_cp,type_bs,iy,jy,remv_noels)
%lv_bs
d_g=zeros(1,lv_bs);
d_b=zeros(1,lv_bs);
u_g=zeros(1,length(jy));
u_b=zeros(1,length(jy));
type_noels=zeros(1,lv_noels);
for i=1:lv_hgln
%%支路自阻抗
lnnum=noelsnum_hgln(i);
lnnum;
gb_noels;
for ii1=1:lnnum
iln=noels_hgln(i,ii1);
[d_g,d_b,u_g,u_b]=getlnselfgb(iln,bs_noels,type_bs,itoi,gb_noels,iy,jy,d_g,d_b,u_g,u_b,lv_bs);
type_noels(iln)=1;
end
for ii1=1:lnnum
iln=noels_hgln(i,ii1);
for ii2=ii1+1:lnnum
zln=noels_hgln(i,ii2);
b=gb_hgln(i,ii1,ii2);
[d_g,d_b,u_g,u_b]=getlnhugb(iln,zln,bs_noels,type_bs,itoi,0,b,iy,jy,d_g,d_b,u_g,u_b,lv_bs);
end
end
end
for i=1:lv_noels
if remv_noels(i)==1%被除去线路
continue;
end
ibs=bs_noels(i,1);
zbs=bs_noels(i,2);
if type_noels(i)==1
continue;
end
type_noels(i)=1;
iibs=itoi(ibs);
zzbs=itoi(zbs);
g=gb_noels(i,1);
b=gb_noels(i,2);
j=0;
if iibs~=zzbs
j=getlocal(iy,jy,iibs,zzbs,lv_bs,1);
end
bch=gb_noels(i,3);
%分接头所在端的自导纳要+=(g+jb)/t^2
if bch<0
bch=-bch;
if gb_noels(i,4)==1%变比位于末端
ibs=iibs;
zbs=zzbs;
else %变比位于首段
ibs=zzbs;
zbs=iibs;
end
if ibs<=lv_bs
d_b(ibs)=d_b(ibs)+b;
d_g(ibs)=d_g(ibs)+g;
end
if zbs<=lv_bs
d_b(zbs)=d_b(zbs)+b/bch/bch;
d_g(zbs)=d_g(zbs)+g/bch/bch;
end
if j~=0
u_g(j)=u_g(j)-g/bch;
u_b(j)=u_b(j)-b/bch;
end
continue;
end
%disp('线路支路');
if iibs<=lv_bs
d_b(iibs)=d_b(iibs)+b;
d_b(iibs)=d_b(iibs)+bch;
d_g(iibs)=d_g(iibs)+g;
end
if zzbs<=lv_bs
d_b(zzbs)=d_b(zzbs)+b;
d_b(zzbs)=d_b(zzbs)+bch;
d_g(zzbs)=d_g(zzbs)+g;
end
if j~=0
u_g(j)=u_g(j)-g;
u_b(j)=u_b(j)-b;
end
end
for i=1:lv_cp
ibs=bs_cp(i,1);
if ibs==0
continue;
end
headbs=itoi(ibs);
if headbs>lv_bs
continue;
end
d_b(headbs)=d_b(headbs)+gb_cp(i,1);
end
k=iy(lv_bs);
u_g=u_g(1:k-1);
u_b=u_b(1:k-1);
function [d_g,d_b,u_g,u_b]=getlnselfgb(iln,bs_noels,type_bs,itoi,gb_noels,iy,jy,d_g,d_b,u_g,u_b,lv_bs)
g=gb_noels(iln,1);
b=gb_noels(iln,2);
bch=gb_noels(iln,3);
if bch<0
disp('error!!!');
return;
end
ibs=bs_noels(iln,1);
zbs=bs_noels(iln,2);
iibs=itoi(ibs);
zzbs=itoi(zbs);
if iibs~=lv_bs+1
d_b(iibs)=d_b(iibs)+b+bch;
d_g(iibs)=d_g(iibs)+g;
end
if zzbs~=lv_bs+1
d_b(zzbs)=d_b(zzbs)+b+bch;
d_g(zzbs)=d_g(zzbs)+g;
end
j=0;
if iibs~=zzbs
j=getlocal(iy,jy,iibs,zzbs,lv_bs,1);
end
if j==0
disp('找不到支路位置');
%exit;
return;
end
u_g(j)=u_g(j)-g;
u_b(j)=u_b(j)-b;
function [d_g,d_b,u_g,u_b]=getlnhugb(iln,zln,bs_noels,type_bs,itoi,g,b,iy,jy,d_g,d_b,u_g,u_b,lv_bs)
ibsi=bs_noels(iln,1);%首
zbsi=bs_noels(iln,2);%末
ibsz=bs_noels(zln,1);%首
zbsz=bs_noels(zln,2);%末
first_head=itoi(ibsi);
first_tail=itoi(zbsi);
second_head=itoi(ibsz);
second_tail=itoi(zbsz);
if first_head==second_head&&first_head~=lv_bs+1
disp('add');
d_b(first_head)=d_b(first_head)+2*b;
d_g(first_head)=d_g(first_head)+2*g;
end
if first_tail==second_tail&&first_tail~=lv_bs+1
disp('add');
d_b(first_tail)=d_b(first_tail)+2*b;
d_g(first_tail)=d_g(first_tail)+2*g;
end
if first_head==second_tail&&first_head~=lv_bs+1
disp('add');
d_b(first_head)=d_b(first_head)-2*b;
d_g(first_head)=d_g(first_head)-2*g;
end
if first_tail==second_head&&first_tail~=lv_bs+1
disp('add');
d_b(first_tail)=d_b(first_tail)-2*b;
d_g(first_tail)=d_g(first_tail)-2*g;
end
[d_g,d_b,u_g,u_b]=addlnval(first_head,second_head,g,b,iy,jy,d_g,d_b,u_g,u_b,lv_bs);
[d_g,d_b,u_g,u_b]=addlnval(first_head,second_tail,-g,-b,iy,jy,d_g,d_b,u_g,u_b,lv_bs);
[d_g,d_b,u_g,u_b]=addlnval(second_head,first_tail,-g,-b,iy,jy,d_g,d_b,u_g,u_b,lv_bs);
[d_g,d_b,u_g,u_b]=addlnval(second_tail,first_tail,g,b,iy,jy,d_g,d_b,u_g,u_b,lv_bs);
function [d_g,d_b,u_g,u_b]=addlnval(first_head,second_head,g,b,iy,jy,d_g,d_b,u_g,u_b,lv_bs)
if first_head==second_head
return;
end
j=getlocal(iy,jy,first_head,second_head,lv_bs,1);
if j==0
return;
end
u_b(j)=u_b(j)+b;
u_g(j)=u_g(j)+g;
导纳矩阵 matlab,关于利用矩阵稀疏技术求解节点导纳矩阵的MATLAB编程相关推荐
- matlab节点导纳阵求逆,关于利用矩阵稀疏技术求解节点导纳矩阵的MATLAB编程
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求大神帮忙看看这个程序,解释一下! %形成节点导纳矩阵 %考虑参考节点 %考虑互感支路 function [d_g,d_b,u_g,u_b]=calyy( ...
- matlab如何形成节点导纳矩阵,关于利用矩阵稀疏技术求解节点导纳矩阵的MATLAB编程...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求大神帮忙看看这个程序,解释一下! %形成节点导纳矩阵 %考虑参考节点 %考虑互感支路 function [d_g,d_b,u_g,u_b]=calyy( ...
- matlab求节点导纳矩阵,关于利用矩阵稀疏技术求解节点导纳矩阵的MATLAB编程
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求大神帮忙看看这个程序,解释一下! %形成节点导纳矩阵 %考虑参考节点 %考虑互感支路 function [d_g,d_b,u_g,u_b]=calyy( ...
- matlab如何建立矩阵导纳,关于利用矩阵稀疏技术求解节点导纳矩阵的MATLAB编程
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求大神帮忙看看这个程序,解释一下! %形成节点导纳矩阵 %考虑参考节点 %考虑互感支路 function [d_g,d_b,u_g,u_b]=calyy( ...
- 【ACO TSP】基于matlab改进的蚁群算法求解旅行商问题【含Matlab源码 242期】
⛄一.TSP简介 旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须选 ...
- 【AFSA TSP】基于matlab改进的人工鱼群算法求解旅行商问题【含Matlab源码 1479期】
⛄一. TSP简介 旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须 ...
- matlab如何判断矩阵中元素都大于0_在MATLAB中找到矩阵中零元素的数量
I have a NxM matrix for example named A. After some processes I want to count the zero elements. How ...
- matlab矩阵初等变换矩阵,实验一 MATLAB基本操作及矩阵初等运算
实验一 MATLAB 基本操作及矩阵初等运算 实验目的: 1.熟悉matlab 的界面: 2.熟练掌握matlab 的变量.矩阵定义和基本赋值符号: 3.熟练掌握matlab 矩阵的引用及矩阵初等运算 ...
- matlab 连通域数量,【Matlab】找到矩阵中每个连通域的最小值
[Matlab]找到矩阵中每个连通域的最小值 [Matlab]找到矩阵中每个连通域的最小值 连通域在我浅薄的图像处理知识中,一直是很神圣的存在.最近想在Matlab里实现的时候,发现竟然一个函数就解决 ...
最新文章
- 如何使用Apache的ab工具进行网站性能测试
- 成功解决keras库中出现AttributeError: ‘str‘ object has no attribute ‘decode‘
- Java设计模式 -- 简单工厂模式(SimpleFactory)
- 使用MiniProfiler跟踪MVC + EF + Bootstrap 2 权限管理系统的性能消耗
- PHP后门新玩法:一款猥琐的PHP后门分析
- 关于四种语言中substring()方法参数值的解析
- C++——《算法分析》实验贰——最长公共子序列问题
- php函数、php定义数组和数组遍历
- Hacker News的全文输出RSS地址
- TextWatcher的使用
- C++ 读写TXT文件
- java Deque 接口
- java程序员面试自身优缺点,详细说明
- phpcms extention.func.php数据的使用
- 程序员很少上《非诚勿扰》电视节目相亲之分析
- 计算机二级:公共基础部分
- 三个数据分析的技巧:找趋势、看分布、做细化
- python训练自己中文语料库_Python nltk载入自己的中文语料库的两种方法 for Windows7...
- UART串口通讯协议
- JS实现敏感词过滤功能