稀疏化形成节点导纳矩阵

合集下载

稀疏矩阵名词解释

稀疏矩阵名词解释

稀疏矩阵名词解释稀疏矩阵是指元素大多数为零的矩阵,它在许多实际应用中具有重要的作用。

本文将介绍稀疏矩阵的概念、性质和应用,以及与之相关的节点导纳矩阵和支路阻抗矩阵。

下面是本店铺为大家精心编写的4篇《稀疏矩阵名词解释》,供大家借鉴与参考,希望对大家有所帮助。

《稀疏矩阵名词解释》篇1一、稀疏矩阵的概念稀疏矩阵是指元素大多数为零的矩阵。

在稀疏矩阵中,只有少数元素是非零的,其余元素均为零。

稀疏矩阵通常用斯密斯 - 马克斯韦尔方程表示,其中零元素占据了大部分,非零元素则代表了某些特定的关系。

二、稀疏矩阵的性质稀疏矩阵具有以下性质:1. 稀疏矩阵的行数和列数很大,但非零元素的数量却很少。

2. 稀疏矩阵的存储空间比密排矩阵小得多,因此可以节省存储空间。

3. 稀疏矩阵的运算速度比密排矩阵快,尤其是在大规模矩阵运算时更为明显。

三、稀疏矩阵的应用稀疏矩阵在许多实际应用中具有重要的作用,如下所述:1. 电路分析:在电路分析中,稀疏矩阵被广泛用于求解电路中的电压和电流。

由于电路中存在大量的零元素,因此使用稀疏矩阵可以大大减少计算量。

2. 数据压缩:在数据压缩中,稀疏矩阵被用于压缩图像和音频数据。

由于图像和音频数据通常具有大量的零元素,因此使用稀疏矩阵可以大大减少数据量。

3. 线性代数:在线性代数中,稀疏矩阵被用于求解线性方程组。

由于稀疏矩阵的特殊结构,可以使用一些高效的算法来求解线性方程组。

四、节点导纳矩阵和支路阻抗矩阵与稀疏矩阵相关的两个重要概念是节点导纳矩阵和支路阻抗矩阵。

节点导纳矩阵是一个规模为 (n-1) 的平方矩阵,其中对角线元素为自导纳,即与节点直接连接的支路上的导纳之和。

互导纳是直接连接两个节点的各支路导纳之和的相反数。

支路阻抗矩阵是一个规模为 b 的平方矩阵,其中包含了每个支路的阻抗。

在纯阻抗网络中,支路阻抗矩阵的对角线元素为自阻抗,非对角线元素为互阻抗。

综上所述,稀疏矩阵是一种具有重要应用价值的矩阵,它可以用于电路分析、数据压缩、线性代数等领域。

稀疏矩阵的相关操作

稀疏矩阵的相关操作

稀疏矩阵的相关操作稀疏矩阵是指在一个矩阵中,大部分元素为0的矩阵。

由于大部分元素为0,而非零元素相对较少,稀疏矩阵的存储和处理具有一定的特殊性。

在实际应用中,经常需要对稀疏矩阵进行各种操作,如创建、存储、加法操作等。

本文将从这些方面详细介绍稀疏矩阵的相关操作。

首先,创建稀疏矩阵需要考虑两个关键因素:矩阵的大小和矩阵的稀疏性。

对于稀疏矩阵的大小,一般可以使用行数和列数来描述。

而对于稀疏矩阵的稀疏性,可以使用一个矩阵的非零元素个数与总元素个数的比值来衡量,一般使用稀疏度来表示,即非零元素个数与总元素个数的比值。

创建稀疏矩阵的方法有多种,下面介绍两种常见的方法。

1.压缩矩阵存储法:该方法将稀疏矩阵的非零元素和对应的行列坐标存储在一个矩阵中。

其中,矩阵的每一行存储一个非零元素的值、行和列坐标。

这种方法虽然节约了存储空间,但是在进行矩阵操作时,需要通过遍历矩阵找到对应的非零元素,因此操作效率较低。

2.链表存储法:该方法将稀疏矩阵的非零元素和对应的行列坐标存储在一个链表中。

链表的每个节点包含一个非零元素的值、行和列坐标,以及下一个非零元素的指针。

这种方法在插入和删除操作时比较方便,并且节约了存储空间。

但是,链表存储法在进行矩阵操作时,也需要通过遍历链表找到对应的非零元素,因此操作效率较低。

除了创建稀疏矩阵,还需要进行其他各种操作,如稀疏矩阵的加法、乘法、转置等。

稀疏矩阵的乘法操作较为复杂。

对于两个稀疏矩阵相乘,需要根据矩阵乘法的定义,将一个矩阵的行与另一个矩阵的列进行乘法运算,然后将结果相加得到最终的乘积矩阵。

由于稀疏矩阵的特殊性,可以采用稀疏矩阵乘法算法进行计算,提高乘法操作的效率。

1.三元组转置法:该方法将稀疏矩阵的非零元素和对应的行列坐标存储在三个数组中,分别是非零元素数组、行坐标数组和列坐标数组。

将这三个数组的元素进行转置,并重新组合成转置后的稀疏矩阵。

2.链表转置法:该方法将稀疏矩阵的非零元素和对应的行列坐标存储在链表中。

节点导纳矩阵及潮流计算

节点导纳矩阵及潮流计算

目录摘要 (2)1任务及题目要求 (2)2原理介绍 (3)2.1节点导纳矩阵 (3)2.2牛顿-拉夫逊法 (4)2.2.1牛顿-拉夫逊法基本原理 (4)2.2.2牛顿--拉夫逊法潮流求解过程介绍 (6)3分析计算 (11)4结果分析 (15)5总结 (16)参考资料 (17)节点导纳矩阵及潮流计算摘要电力网的运行状态可用节点方程或回路方程来描述。

节点导纳矩阵是以系统元件的等值导纳为基础所建立的、描述电力网络各节点电压和注入电流之间关系的线性方程。

潮流计算是电力系统分析中的一种最基本的计算,它的任务是对给定的运行条件确定系统的运行状态,如各母线上的电压(幅值及相角)、网络中的功率分布及功率损耗等。

本文就节点导纳矩阵和潮流进行分析和计算。

1任务及题目要求题目初始条件:如图所示电网。

1∠002阵Y;2+j13)给出潮流方程或功率方程的表达式;4)当用牛顿-拉夫逊法计算潮流时,给出修正方程和迭代收敛条件。

2原理介绍2.1节点导纳矩阵节点导纳矩阵既可根据自导纳和互导纳的定义直接求取,也可根据电路知识中找出改网络的关联矩阵,在节点电压方程的矩阵形式进行求解。

本章节我们主要讨论的是直接求解导纳矩阵。

根据节点电压方程章节我们知道,在利用电子数字计算机计算电力系统运行情况时,多采用IYV 形式的节点方程式。

其中阶数等于电力网络的节点数。

从而可以得到n 个节点时的节点导纳矩阵方程组:nn Y n +V (2-1) 由此可以得到n 个节点导纳矩阵:nn Y ⎫⎪⎪⎪⎪⎭它反映了网络的参数及接线情况,因此导纳矩阵可以看成是对电力网络电气特性的一种数学抽象。

由导纳短阵所了解的节点方程式是电力网络广泛应用的一种数学模型。

通过上面的讨论,可以看出节点导纳矩阵的有以下特点:(1)导纳矩阵的元素很容易根据网络接线图和支路参数直观地求得,形成节点导纳矩阵的程序比较简单。

(3)导纳矩阵是稀疏矩阵。

它的对角线元素一般不为零,但在非对角线元素中则存在不少零元素。

电力网络的分析学后总结

电力网络的分析学后总结

电力网络分析是电力系统分析的关键环节。

随着国民经济的不断提高,社会对电能质量的需求也越来越高。

电力系统分析的作用至关重要。

高等电力网络分析是通过归纳、总结、提升,抽象出电网分析中的共性问题,从更基础的层面来描述和解决电网分析问题。

此书把电力网络分为两部分来研究。

第一部分为基础篇,介绍电力网络分析的基本原理。

第二部分为应用篇,介绍潮流计算和故障分析。

第一部分电力网络分析基本原理一、电力网络分析的一般方法1.1网络分析概述电力网络包含两个要素:电气元件及其联接方式。

电力网络的运行特性的约束和元件之间联接关系的约束(拓扑约束)共同决定。

元件的特性约束由欧姆定律来描述:Ri=u, dLdt =u, 1Cidt=u.网络的拓扑约束由基尔霍夫定律来描述:基尔霍夫电流定律:I=0.基尔霍夫电压定律:V=0.有关电力系统分析计算问题包括状态估计、潮流计算、经济调度、故障分析、稳定计算等,这些问题既相互关联,又各有侧重点。

如状态估计可以为潮流计算提供良好的初值,而潮流计算则是经济调度、故障分析、稳定计算与系统控制的出发点。

网络分析是解决这些所有问题的共同基础。

研究一个特定的电力系统运行问题应当包括四个基本步骤:1、建立电力网络元件的数学模型;2、建立电力网络的数学模型;3、选择合理的数值计算方法;4、电力网络问题的计算机求解。

网络分析中常用的关联矩阵有:节-支关联矩阵、回-支关联矩阵、割-支关联矩阵。

1.2电力网络支路特性的约束一般支路如图:图1:一般支路元件的约束特性可用以下支路方程来表示:V k+E k =z k (I k +I sk )或I k +I sk =y k (V k +E k ) 把网络内所有支路方程集合在一起,引入电动势矢量和电流源矢量E S,I S . 可以得到网络的支路方程V b+E s =z b (I b +I s )或I b +I s =y b (V b +E s ) z b ,y b 为原始导纳矩阵和原始阻抗矩阵,若网络内所有的支路间不存在互感,z b ,y b 是对角阵,对角线元素既是相应的支路阻抗和支路导纳;若存在互感则z b 在相应于互感支路相关的位置上存在非零非对角线元素。

节点导纳矩阵的计算及应用综述

节点导纳矩阵的计算及应用综述
抗。由于新增加一个新的节点,因而导纳矩 阵相应增加一阶。导纳矩阵各元素变化情况 如下:j 节点的导纳如式(8)所示,i 节点导纳 矩阵增量如式(9)所示,其他节点导纳矩阵自 导纳不变化。I、j 节点之间的互导纳如式(10) 所示,其他节点互导纳不变化。
4
自导纳 Y jj
1 z ij
(8)
Y ii
之间导纳的相反数
(5)导纳矩阵维数与节点数相等
可以将(2)式写成式(7)
YU I
(7)
由式(7)我们不难发现,节点导纳矩阵只 与支路导纳有关,与节点处的电压无关。 3 节点网络改变时对节点导纳矩阵的修改
随着电力系统发展的需要,可能需要增 加或删减某一条或几条支路,这样会使电力 网络发生改变,势必使节点导纳矩阵发生改 变。而且当电力系统发生比如短路等故障 时,电力网络阻抗会发生改变,也会使电力 系统导纳矩阵发生改变,本小结对节点导纳 矩阵的修改方法做一些总结。
0

0
y3
y2 y3 y5 0
0

y1 0
0 y2
y1 0
y2 y2

(6)
Y 即为节点导纳矩阵。
根据式(6)我们不难发现,节点导纳矩阵
具有以下特点:
(1)对称矩阵
(2)稀疏矩阵
(3)自导纳位于矩阵对角线,为与节点相连接
的导纳之和
(4)互导纳位于矩阵非对角线位置,为两节点
V V I

V V I
y
1

y
2


4

5
2
3

1

2
将(1)式按节点电压整理后得到式(2)

第三章电力网络计算中的稀疏技术

第三章电力网络计算中的稀疏技术
➢对稀疏矩阵,有几种不同的存储方法,除了和 矩阵的稀疏结构的特点有关,还和使用时所采用 的算法有关。
➢不同的算法往往要求对稀疏矩阵中的非零元素 有不同的检索方式。因此,应根据应用对象的实 际情况来选择合适的存储方式。
3.2 稀疏技术
1.散居格式 • 定义三个数组,分别存储下列信息: • VA——存储A中非零元素aij的值,共τ个, • IA——存储A中非零元素aij的行指标i,共τ个, • JA——存储A中非零元素aij的列指标j,共τ个。 • 总共需要3τ个存储单元。
3.2 稀疏技术
一、稀疏矢量和稀疏矩阵的存储
稀疏矢量和稀疏矩阵的存储特点是排零存储:只存储其中 的非零元素和有关的检索信息。 存储的目的是为了在计算中能方便地访问使用,这就要求: (1)所采用的存储格式节省内存; (2)方便地检索和存取; (3)网络矩阵结构变化时能方便地对存储的信息加以修改。
➢稀疏矢量的存储:只需存储矢量中的非零元素 值和相应的下标。
个。
3.2 稀疏技术
➢ 查找第i行的非零元素:即在VA中取出从k=IA(i)到 IA(i+1)共IA(i+1)-IA(i)个非零元就是A中第i行的全部 非零元,非零元的值是VA(k),其列号由JA(k)给出。
找第i行第j列元素aij在VA中的位置:对k从IA(i)到 IA(i+1)-1,判列号JA(k)是否等于j,如等,则VA(k)即是 要找的非零元aij。 这种存储方案可以用于存储任意稀疏矩阵,A可以不是正 方矩阵。
3.2 稀疏技术
➢ 散居格式的优点:A中的非零元在上面数组中的位置可任意 排列,修改灵活;
➢ 缺点:因其存储顺序无一定规律,检索起来不方便。 例如:在上面数组中查找下标是i,j的元素aij,需要在数组 IA中找下标是i同时在JA数组中的下标是j的元素,最坏的 可能性要在整个数组中查找一遍,工作量极大。

节点导纳矩阵及潮流计算

节点导纳矩阵及潮流计算

目录摘要 (2)1任务及题目要求 (2)2原理介绍 (3)节点导纳矩阵 (3)牛顿-拉夫逊法 (4)牛顿-拉夫逊法基本原理 (4)牛顿--拉夫逊法潮流求解过程介绍 (6)3分析计算 (11)4结果分析 (15)5总结 (16)参考资料 (17)节点导纳矩阵及潮流计算摘要电力网的运行状态可用节点方程或回路方程来描述。

节点导纳矩阵是以系统元件的等值导纳为基础所建立的、描述电力网络各节点电压和注入电流之间关系的线性方程。

潮流计算是电力系统分析中的一种最基本的计算,它的任务是对给定的运行条件确定系统的运行状态,如各母线上的电压(幅值及相角)、网络中的功率分布及功率损耗等。

本文就节点导纳矩阵和潮流进行分析和计算。

1任务及题目要求题目初始条件: 如图所示电网。

其元件导纳参数为:y 12=, y 23=, y 13=任务及要求:1)根据给定的运行条件,确定图2所示电力系统潮流计算时各节点的类型和待求量;2)求节点导纳矩阵Y ;1???2+j13)给出潮流方程或功率方程的表达式;4)当用牛顿-拉夫逊法计算潮流时,给出修正方程和迭代收敛条件。

2原理介绍节点导纳矩阵节点导纳矩阵既可根据自导纳和互导纳的定义直接求取,也可根据电路知识中找出改网络的关联矩阵,在节点电压方程的矩阵形式进行求解。

本章节我们主要讨论的是直接求解导纳矩阵。

根据节点电压方程章节我们知道,在利用电子数字计算机计算电力系统运行情况时,多采用IYV 形式的节点方程式。

其中阶数等于电力网络的节点数。

从而可以得到n 个节点时的节点导纳矩阵方程组:11112211211222221122n n n n nn n Y Y Y n Y Y Y n Y Y Y n +++=⎫⎪+++=⎪⎬⎪⎪+++=⎭V V V I V V V I V V VI (2-1) 由此可以得到n 个节点导纳矩阵:111212212212n n n n nn Y Y Y Y Y Y Y Y Y Y ⎛⎫⎪ ⎪= ⎪⎪⎝⎭? (2-2) 它反映了网络的参数及接线情况,因此导纳矩阵可以看成是对电力网络电气特性的一种数学抽象。

节点导纳矩阵及潮流计算

节点导纳矩阵及潮流计算

目录摘要 (2)1任务及题目要求 (2)2原理介绍 (3)2.1节点导纳矩阵 (3)2.2牛顿-拉夫逊法 (4)2.2.1牛顿-拉夫逊法基本原理 (4)2.2.2牛顿--拉夫逊法潮流求解过程介绍 (6)3分析计算 (10)4结果分析 (14)5总结 (15)参考资料 (16)节点导纳矩阵及潮流计算摘要电力网的运行状态可用节点方程或回路方程来描述。

节点导纳矩阵是以系统元件的等值导纳为基础所建立的、描述电力网络各节点电压和注入电流之间关系的线性方程。

潮流计算是电力系统分析中的一种最基本的计算,它的任务是对给定的运行条件确定系统的运行状态,如各母线上的电压(幅值及相角)、网络中的功率分布及功率损耗等。

本文就节点导纳矩阵和潮流进行分析和计算。

1任务及题目要求题目初始条件: 如图所示电网。

其元件导纳参数为:y 12=0.5-j3, y 23=0.8-j4, y 13=0.75-j2.5任务及要求:1)根据给定的运行条件,确定图2所示电力系统潮流计算时各节点的类型和待求量;1∠002+j12)求节点导纳矩阵Y ;3)给出潮流方程或功率方程的表达式;4)当用牛顿-拉夫逊法计算潮流时,给出修正方程和迭代收敛条件。

2原理介绍2.1节点导纳矩阵节点导纳矩阵既可根据自导纳和互导纳的定义直接求取,也可根据电路知识中找出改网络的关联矩阵,在节点电压方程的矩阵形式进行求解。

本章节我们主要讨论的是直接求解导纳矩阵。

根据节点电压方程章节我们知道,在利用电子数字计算机计算电力系统运行情况时,多采用IYV 形式的节点方程式。

其中阶数等于电力网络的节点数。

从而可以得到n 个节点时的节点导纳矩阵方程组:11112211211222221122n n n n nn n Y Y Y n Y Y Y n Y Y Y n +++=⎫⎪+++=⎪⎬⎪⎪+++=⎭V V V I V V V I V V V I L L L L (2-1)由此可以得到n 个节点导纳矩阵:111212212212n n n n nn Y Y Y Y Y Y Y Y Y Y ⎛⎫⎪ ⎪= ⎪⎪⎝⎭LL L L(2-2)它反映了网络的参数及接线情况,因此导纳矩阵可以看成是对电力网络电气特性的一种数学抽象。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

struct jdlb *insert1(struct jdlb *tp,struct jdlb *z) //节点导纳矩阵插入指针数据{
struct jdlb *p0,*p111,*p112;
double r,r1,x,x1;
kk=0;
p111=tp;
p0=z;
if(p0==null)
return(tp);
if(tp==null)
{ tp=p0;
p0->next=null;
return(tp);
}
if(p0->lnxt<p111->lnxt)
{ tp=p0;
p0->next=p111;
return(tp);
}
while((p0->lnxt>p111->lnxt)&&(p111->next!=null))
{ p112=p111;
p111=p111->next;
}
if(p0->lnxt==p111->lnxt) //两点间有多条线路或变压器
{ r=p111->fu*cos(p111->jd);
x=p111->fu*sin(p111->jd);
r1=p0->fu*cos(p0->jd);
x1=p0->fu*sin(p0->jd);
r=r+r1;
x=x+x1;
x1=sqrt(r*r+x*x);
p111->fu=x1;
p111->jd=atan2(x,r);
kk=1;
return(tp);
}
if((p111->next==null)&&(p0->lnxt>p111->lnxt))
{ p111->next=p0;
p0->next=null;
}
else
{ p112->next=p0;
}
return(tp);
}
//线路部分形成节点导纳矩阵
p1=(struct jdlb *)malloc(len);
p2=(struct jdlb *)malloc(len);
p3=headlij; //线路部分
while(p3!=null) //形成节点导纳矩阵,可为双边的{ r=p3->fu;
x=p3->jd;
bb=p3->bb;
i=p3->i;
j=p3->j;
gij=r/(r*r+x*x);
bij=-x/(r*r+x*x);
r=-gij;
x=-bij;
tmp=sqrt(r*r+x*x);
if(tmp!=0)
{ p1->irow=i;
p1->lnxt=j;
p1->fu=tmp;
p1->jd=atan2(x,r);
a[i]=insert1(a[i],p1);
if(kk==0)
p1=(struct jdlb *)malloc(len);
p2->irow=j;
p2->lnxt=i;
p2->fu=tmp;
p2->jd=atan2(x,r);
a[j]=insert1(a[j],p2);
if(kk==0)
p2=(struct jdlb *)malloc(len);
}
p3->fu=tmp;
p3->jd=atan2(x,r);
p3->bb=bb;
g[i]=g[i]+gij;
b[i]=b[i]+bij+bb;
g[j]=g[j]+gij;
b[j]=b[j]+bij+bb;
}
k=1;
p4=headbyq;
while(p4!=null) //变压器部分
{ i=p4->i;
j=p4->j;
r=p4->r;
x=p4->x;
k0=p4->kk;
gij=r/(r*r+x*x);
bij=-x/(r*r+x*x);
k0=1/k0; //在计变压器变比时用1/k0来做变量,既用倒数来做变量r=-gij*k0;
x=-bij*k0;
tmp=sqrt(r*r+x*x);
if(tmp!=0)
{ p1->irow=i;
p1->lnxt=j;
p1->fu=tmp;
p1->jd=atan2(x,r);
a[i]=insert1(a[i],p1);
if(kk==0)
p1=(struct jdlb *)malloc(len);
p2->irow=j;
p2->lnxt=i;
p2->fu=tmp;
p2->jd=atan2(x,r);
a[j]=insert1(a[j],p2);
if(kk==0)
p2=(struct jdlb *)malloc(len);
}
g[i]=g[i]+gij*k0*k0;
b[i]=b[i]+bij*k0*k0;
g[j]=g[j]+gij;
b[j]=b[j]+bij;
p4=p4->next;
}
free(p1);
free(p2);
p5=headjdzl;
while(p5!=null) //接地支路部分
{ i=p5->i;
r=p5->g;
x=p5->bb;
g[i]=g[i]+r;
b[i]=b[i]+x;
p5=p5->next;
}
p6=headglfh;
while(p6!=null) //功率负荷部分
{ i=p6->i;
r=p6->pg;
bb=p6->pd;
x=p6->qg;
k0=p6->qd;
p[i]=r-bb;
q[i]=x-k0;
ppp[i]=bb;
qqq[i]=k0;
p6=p6->next;
}
p9=headphd;
while(p9!=null)
{ for(i=1;i<=mm;i++)
{ if(i==p9->phd)
{ p9->p=ppp[i];
p9->q=qqq[i];
}
}
p9=p9->next;
}
j=1;
p8=headwgxz;
while(p8!=null) //和控制点无关
{ i=p8->i;
gq[j]=i; //记录约束节点无功号
gmin[j]=p8->qmin;
gmax[j]=p8->qmax;
gqbz[j]=0; //=0表示PV节点,=1表示由PV节点转成了PQ节点qd[j]=qqq[i]; //负荷无功
j=j+1;
p8=p8->next;
}
rq=j-1; //无功约束的个数
for(i=1;i<=mm;i++) //节点导纳矩阵对角线上的元素{ r=sqrt(g[i]*g[i]+b[i]*b[i]);
b[i]=atan2(b[i],g[i]);
g[i]=r;
}
j=0; //用于判断是否有孤点
for(i=1;i<=mm;i++)
{ if(g[i]==0)
j=j+1;
}
if(j>0)
return 1;
a[mm+1]=null;
p1=a[1];
i=1; //将节点导纳矩阵联起来
while(i<=mm)
{ j=0;
while(p1->next!=null)
{ j=j+1;
p1=p1->next;
}
i=i+1;
p1->next=a[i];
}。

相关文档
最新文档