A. 小草同學,我碰到了一個和你一樣的問題,如何從matpower里提取出最後一次迭代的雅克比矩陣
哈哈 還是專門找我的啊 我受寵若驚 好懷念啊 你也搞這個啊,是畢業論文么?
好閑話少說,下面是步驟,當初求助未果,自己瞎搞搞出來的:
以下是我當初論文所需要的命令,希望對你有所幫助。主要是靠設置斷點,找出那個雅克比矩陣J,其實就一部而已,具體我記不清了,電腦的matlab被我卸載了,太大而且機器慢,我記得是打開其m文件,然後設置斷點,貌似是在左邊點一下吧會由「-」 變成「○」。然後在運行runpf(case'9'),會在中間停下來,這時那個「J」就是你要的矩陣。之後的那些命令可能對你沒用,我當時做的是對其雅克比矩陣做預處理,從而減少它的迭代次數。如果你也是做這個那爽了,乾脆直接借你抄.....哈哈哈哈
1.求標准系統IEEE9節點系統剛開始迭代的雅可比矩陣的條件數
(1)首先要在matlab內的matpower中的m文件設置斷點
(2)輸入命令runpf(case'9')對其進行牛頓法潮流計算
(3)求該系統的矩陣的條件數,輸入命令cond(J)
(其他節點的求解方法與之相同,所以省略,以下各程序命令都以IEEE9節點為例)
2.求標准系統IEEE9節點系統雅可比矩陣的譜圖
(1)首先將稀疏矩陣J還原full(J)
(2)求其特徵值im=eig(ans)
(3)對其特徵根求譜圖h=plot(im,'*')
3.對IEEE9節點系統運用矩陣的平衡的預處理方法
(1)首先要在matlab內的matpower中的m文件設置斷點
(2)輸入命令runpf(case'9')對其進行牛頓法潮流計算
(3)對矩陣進行計算
diag(diag(J))
ans*max(det(J))/diag(det(J))
inv(ans)
ans*J*eye(14,14)
(4)求其條件數cond(ans)
4.對IEEE9節點系統運用不完全LU分解的預處理方法
(1)首先要在matlab內的matpower中的m文件設置斷點
(2)輸入命令runpf(case'9')對其進行潮流計算
(3)對矩陣進行計算
[L,U]=luinc(J,'0')
A=inv(L)*J*inv(U)
(4)求其條件數cond(A)
5.對IEEE9節點系統運用J的分塊對角陣的預處理方法
(1)首先要在matlab內的matpower中的m文件設置斷點
(2)輸入命令runpf(case'9')對其進行潮流計算
(3)對矩陣進行計算
A=J,再對其分塊矩陣J置零
(4)求其條件數cond(A)
6.對IEEE9節點系統運用
(1)首先要在matlab內的matpower中的m文件設置斷點
(2)輸入命令mpopt=mpoption('PF_ALG',2)
runpf('case9',mpopt)用快速解耦法對其進行潮流計算
(3)對矩陣進行計算
A=Bp
B=Bpp
C=[A,zeros(8,6);zeros(6,8),B]
D=inv(C)
runpf('case9')
J*D*eye(14,14)
A=ans
(4)求其條件數
cond(ans)
7.各種預處理法的作圖程序
(1)求計算後矩陣的特徵值
im=eig(J』)
(2)對其特徵值作圖
h=plot(im,'*')
有其他需要請留下qq等聯系方式