亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種用于潮流計(jì)算稀疏方程組的鏈表處理方法

文檔序號(hào):6571612閱讀:229來源:國知局
專利名稱:一種用于潮流計(jì)算稀疏方程組的鏈表處理方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種電力系統(tǒng)的潮流計(jì)算方法,特別是一種用于潮流計(jì)算稀疏方程組的鏈表處理方法。
背景技術(shù)
潮流計(jì)算是電力系統(tǒng)最基本的一種計(jì)算。由于潮流計(jì)算涉及的網(wǎng)絡(luò)方程系數(shù)矩陣是非常稀疏的矩陣,因此實(shí)用算法采用稀疏矩陣技術(shù)和節(jié)點(diǎn)優(yōu)化編號(hào)等高級(jí)技術(shù),這些技術(shù)可以大幅度提高潮流計(jì)算速度、降低內(nèi)存占用量。潮流計(jì)算的基本方程為非線性方程,牛頓法通過對(duì)此非線性方程逐次線性化,得到線性化潮流計(jì)算的修正方程,反復(fù)迭代求解。 潮流計(jì)算的修正方程的系數(shù)矩陣非常稀疏,即矩陣的大部分元素的值為零,采用稀疏矩陣技術(shù)和節(jié)點(diǎn)優(yōu)化編號(hào)等高級(jí)技術(shù),這些技術(shù)可以大幅度提高潮流計(jì)算速度、降低內(nèi)存占用量。稀疏矩陣主要的存儲(chǔ)特點(diǎn)就是“排零存儲(chǔ)”,即只存儲(chǔ)矩陣中的非零元素以及有關(guān)的檢索信息。這樣存儲(chǔ)不僅有效節(jié)省存儲(chǔ)的空間,而且在計(jì)算中能夠方便迅速地訪問和引用有用數(shù)據(jù),大大提高計(jì)算速度,這些都對(duì)存儲(chǔ)的格式有一定的要求。對(duì)稀疏矩陣的存儲(chǔ),除了要考慮矩陣的稀疏結(jié)構(gòu)外,還要考慮采用的有關(guān)算法,因?yàn)椴煌乃惴▽?duì)非零元素的檢索方式有不同的要求。以下是幾種對(duì)稀疏矩陣不同的存儲(chǔ)方法,應(yīng)用時(shí)應(yīng)根據(jù)實(shí)際狀況選擇合適的方式。I、散居格式對(duì)于一個(gè)nXm階的稀疏矩陣A,假設(shè)其非零元素共有Y個(gè),令au為稀疏矩陣中的第i行第j列非零元素。對(duì)稀疏矩陣A的存儲(chǔ),可以使用下面三個(gè)數(shù)組AE :用來記錄非零元素au的值,共Y個(gè);AR :用來記錄非零元素au的行號(hào)i,共Y個(gè);AC :用來記錄非零元素au的列號(hào)j,共Y個(gè)。2、按行或列存儲(chǔ)格式這是一種按行或列順序來依次存儲(chǔ)矩陣A中的非零元素的存儲(chǔ)方式,依次將同一行或列的元素排在一起,下面以按行存儲(chǔ)為例說明AE :按行存儲(chǔ)稀疏矩陣A中的非零元素au,共、個(gè);AC :按行存儲(chǔ)稀疏矩陣A中的非零元素au的列號(hào),共Y個(gè);AS :用來記錄矩陣A中每行的第一個(gè)非零元素在數(shù)組AE中的位置,共n+1個(gè),其中ASn+1用來確定第n行元素的結(jié)束位置。3、鏈表存儲(chǔ)格式這里以按行存儲(chǔ)為例來進(jìn)行說明。此種存儲(chǔ)格式中矩陣每行需要一個(gè)鏈表,每個(gè)鏈表需要一個(gè)鏈表頭,通過這個(gè)鏈表頭可找到本行的所有非零元素。鏈表的每個(gè)元素又包括3個(gè)數(shù)據(jù)項(xiàng)
Alist :作為矩陣A中每行鏈表的鏈表頭,同時(shí)存儲(chǔ)每行的第I個(gè)非零元素,共n個(gè),分別為各行鏈表的鏈表頭;AE :存儲(chǔ)稀疏矩陣A中本行的非零元素au ;AC :存儲(chǔ)稀疏矩陣A中本行的非零元素au的列號(hào);Next :指向本行下一個(gè)非零元素的存儲(chǔ)位置,對(duì)于本行的末尾非零元素,該值置空指針(NULL)。潮流計(jì)算的修正方程的系數(shù)矩陣A是非常稀疏的矩陣,即矩陣A的大部分元素的值為零;在對(duì)系數(shù)矩陣A進(jìn)行消去時(shí),即使au原來為0,但如果aik、akJ, akk不等于0,新的Bij就不等于0 了,這種現(xiàn)象稱為非零元素注入。稀疏矩陣采用數(shù)組存儲(chǔ)時(shí),由于存在非零元素注入,數(shù)組的大小不好確定,只能根據(jù)經(jīng)驗(yàn)設(shè)置一個(gè)較大的數(shù)組,采用鏈表存儲(chǔ)時(shí),鏈表內(nèi)存是用多少申請(qǐng)多少,可以有效解決這個(gè)問題。但由于采用鏈表存儲(chǔ)方式時(shí),計(jì)算過程中還要涉及頻繁內(nèi)存申請(qǐng)、內(nèi)存釋放和數(shù)據(jù)檢索等操作,內(nèi)存申請(qǐng)和釋放操作時(shí)間較長,因而計(jì)算速度較慢。設(shè)線性方程的一般形式如下AX=B(I)對(duì)于線性方程,采用高斯消去法求解,包括以下步驟A、對(duì)系數(shù)矩陣A的消去,公式如下
權(quán)利要求
1.一種用于潮流計(jì)算稀疏方程組的鏈表處理方法,所述的潮流計(jì)算修正方程的系數(shù)矩陣A采用鏈表存儲(chǔ)格式,其特征在于所述的系數(shù)矩陣A的消去方法包括以下步驟 步驟I :設(shè)置當(dāng)前行號(hào)i = I ; 步驟2 :工作數(shù)組w清零; 步驟3 :把鏈表Alist[i]中存儲(chǔ)的系數(shù)矩陣A的第i行非零元素按對(duì)應(yīng)列號(hào)存入數(shù)組w中; 步驟4 :令k=l ; 步驟5 :判斷k是否小于i,如果k不小于i,則轉(zhuǎn)至步驟14 ; 步驟6 :判斷數(shù)組元素Wk是否為O,如果Wk為O,則轉(zhuǎn)至步驟13 ; 步驟7 :取鏈表Alist [k]的第I個(gè)元素值賦給變量e ; 步驟8 :令p指向鏈表Alist [k]的第2個(gè)元素; 步驟9 :把p指向的元素值賦給變量d,元素列號(hào)賦給j ; 步驟10 :按式Wj=Wj-WkX d/e對(duì)系數(shù)矩陣A的元素進(jìn)行消去運(yùn)算; 步驟11:令P指向鏈表Alist[k]的下一個(gè)元素; 步驟12 :判斷p所指向地址是否為空,如果不為空,則轉(zhuǎn)至步驟9 ; 步驟13 :令k = k+1,返回到步驟5 ; 步驟14 :把數(shù)組w中的元素Wi及以后的所有非零元素存入或追加到鏈表Alist[i]中,并刪除多余鏈表元素; 步驟15 :設(shè)置當(dāng)前行號(hào)i = i+1 ; 步驟16 :判斷i是否大于方程個(gè)數(shù)n,如果i不大于n,則轉(zhuǎn)至步驟2 ;否則結(jié)束。
全文摘要
本發(fā)明公開了一種用于潮流計(jì)算稀疏方程組的鏈表處理方法,所述的潮流計(jì)算修正方程的系數(shù)矩陣A采用鏈表存儲(chǔ)格式,本發(fā)明的修正方程系數(shù)矩陣A采用鏈表技術(shù)存儲(chǔ)和運(yùn)算時(shí),在系數(shù)矩陣A消去過程中,使用一個(gè)工作數(shù)組,待一行消去過程完成后再把本行的非零元素存儲(chǔ)到鏈表中,這樣帶來的有益效果是有效減少了內(nèi)存申請(qǐng)、內(nèi)存釋放、數(shù)據(jù)檢索等操作,提高了潮流計(jì)算的計(jì)算速度;簡(jiǎn)化了方程求解的流程。
文檔編號(hào)G06F17/16GK102831103SQ201210269018
公開日2012年12月19日 申請(qǐng)日期2012年7月31日 優(yōu)先權(quán)日2012年7月31日
發(fā)明者姚玉斌, 李明武, 周國順, 劉莉 申請(qǐng)人:大連海事大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1